当我尝试安装 NVIDIA 驱动程序时,我运行以下命令:
sudo bash cuda_9.1.85_387.26_linux --verbose --override --kernel-
source-path=/usr/src/linux-source-4.15.0
...它告诉我无法找到内核源代码和头文件
注意:我在安装驱动程序之前已经安装了 NVIDIA CUDA Toolkit,并且没有使用 X 环境。
进一步检查还发现:
ERROR: Neither the '/usr/src/linux-source-4.15.0/include/linux/version.h' nor the
'/usr/src/linux-source-4.15.0/include/generated/uapi/linux/version.h
' kernel header file exists. The most likely reason for this is
that the kernel source files in '/usr/src/linux-source-4.15.0'
have not been configured.
我已经设法通过从/usr/include/linux
目录中复制 version.h 来取得进一步的进展,但现在它抱怨:
Error 1
In file included from <command-line>:0:0:
././include/linux/kconfig.h:5:10: fatal error: generated/autoconf.h:
No such file or directory
#include <generated/autoconf.h>
我如何获取生成的文件夹?
答案1
安装程序正在寻找文件${source-path}/include/linux/version.h
如果我在 /usr/src/linux-source-4.15.0 搜索 version.h,我会得到以下结果:
$ find /usr/src/linux-source-4.15.0/ -name 'version.h'
./linux-source-4.15.0/ubuntu/vbox/vboxguest/include/VBox/version.h
./linux-source-4.15.0/arch/x86/math-emu/version.h
./linux-source-4.15.0/drivers/net/ethernet/chelsio/cxgb3/version.h
./linux-source-4.15.0/drivers/net/wireless/ath/carl9170/version.h
./linux-source-4.15.0/drivers/staging/media/atomisp/pci/atomisp2/css2400/css_2401_system/hrt/version.h
./linux-source-4.15.0/drivers/staging/media/atomisp/pci/atomisp2/css2400/css_2400_system/hrt/version.h
./linux-source-4.15.0/drivers/staging/media/atomisp/pci/atomisp2/css2400/css_2401_csi2p_system/hrt/version.h
./linux-source-4.15.0/include/uapi/linux/dvb/version.h
./linux-source-4.15.0/include/xen/interface/version.h
所以它不在那里。:-(
根据Ubuntu 软件包目录, 文件确实存在使用包中的部分路径linux-libc-dev
。
尝试安装它,然后将源路径指定为/usr
。
答案2
我发现使用 NVIDIA NGC 实例可以解决这个问题,我只需要转到此链接: https://console.cloud.google.com/marketplace/details/nvidia-ngc-public/nvidia_gpu_cloud_image
并使用我在 Google Cloud Platform 上 365 天免费获得的 300 英镑信用额度