Debian 12에 최신 NVIDIA 드라이버를 설치하려고 합니다. 프로세스의 일부에는 일부 커널 모듈이 포함됩니다. 대부분은 오류 없이 컴파일되지만 마지막에 실패합니다(그게 무슨 뜻인지는 약 96%). 로그에는 이 오류가 여러 번 표시됩니다. 그 내용은 다음과 같습니다 nv-caps.c
.
CC [M] /tmp/selfgz170986/NVIDIA-Linux-x86_64-525.125.06/kernel/nvidia/nv-caps.o
/tmp/selfgz170986/NVIDIA-Linux-x86_64-525.125.06/kernel/nvidia/nv-caps.c: In function 'nv_cap_close_fd':
/tmp/selfgz170986/NVIDIA-Linux-x86_64-525.125.06/kernel/nvidia/nv-caps.c:598:5: error: implicit declaration of function 'sys_close' [-Werror=implicit-function-declaration]
598 | sys_close(fd);
| ^~~~~~~~~
cc1: some warnings being treated as errors
검색하여 nv-caps.c
다음을 찾았습니다.
/* sys_close() or __close_fd() */
#include <linux/syscalls.h>
그리고 /usr/src/linux-source-6.1/include/linux/syscalls.h
:
...
asmlinkage long sys_close(unsigned int fd);
...
따라서 의 암시적 선언에서 실패하는 이유를 이해할 수 있지만 sys_close()
포함된 헤더 파일에서 상당히 명시적인 선언을 얻지 못하는 이유는 이해할 수 없습니다. 어떤 아이디어가 있나요?