使用 cuda 编译程序时 make install 出错

使用 cuda 编译程序时 make install 出错

我正在尝试编译使用主源为我的 Ubuntu 系统安装程序。我已经安装了 AMDGPU-PRO 驱动程序和AMD 3.0 SDK通过 AMD 网站上的基本安装说明安装驱动程序。

我还安装了CUDA 工具包因为我希望该程序能够与 AMD 和 NVIDIA GPU 配合使用。CUDA 工具包的安装步骤如下:

`sudo dpkg -i cuda-repo-ubuntu1604_9.1.85-1_amd64.deb`
`sudo apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/7fa2af80.pub`
`sudo apt-get update`
`sudo apt-get install cuda`

我跟着这些github 上的编译说明。

# Ubuntu / Debian
sudo apt install libmicrohttpd-dev libssl-dev cmake build-essential libhwloc-dev
git clone https://github.com/fireice-uk/xmr-stak.git
mkdir xmr-stak/build
cd xmr-stak/build
cmake ..
make install

一切似乎都正常,直到我运行“sudo make install”命令,它返回以下错误。

[ 70%] Building NVCC (Device) object CMakeFiles/xmrstak_cuda_backend.dir/xmrstak/backend/nvidia/nvcc_code/xmrstak_cuda_backend_generated_cuda_extra.cu.o
/home/miner1/xmr-stak/xmrstak/backend/nvidia/nvcc_code/cuda_extra.cu:9:32: fatal error: device_functions.hpp: No such file or directory
compilation terminated.
CMake Error at xmrstak_cuda_backend_generated_cuda_extra.cu.o.cmake:207 (message):
  Error generating
  /home/miner1/xmr-stak/build/CMakeFiles/xmrstak_cuda_backend.dir/xmrstak/backend/nvidia/nvcc_code/./xmrstak_cuda_backend_generated_cuda_extra.cu.o


CMakeFiles/xmrstak_cuda_backend.dir/build.make:70: recipe for target 'CMakeFiles/xmrstak_cuda_backend.dir/xmrstak/backend/nvidia/nvcc_code/xmrstak_cuda_backend_generated_cuda_extra.cu.o' failed
make[2]: *** [CMakeFiles/xmrstak_cuda_backend.dir/xmrstak/backend/nvidia/nvcc_code/xmrstak_cuda_backend_generated_cuda_extra.cu.o] Error 1
CMakeFiles/Makefile2:68: recipe for target 'CMakeFiles/xmrstak_cuda_backend.dir/all' failed
make[1]: *** [CMakeFiles/xmrstak_cuda_backend.dir/all] Error 2
Makefile:127: recipe for target 'all' failed
make: *** [all] Error 2

问题似乎与 CUDA 无法找到文件有关。我不确定这是路径错误还是 gcc 版本错误。我尝试重新安装 gcc,但没有成功。当不使用 CUDA 时,该程序确实可以正确编译。

答案1

我使用 CUDA 9.1 时也遇到同样的错误,但使用 CUDA 9.0 一切正常。尝试卸载 CUDA 9.1 并安装 CUDA 9.0,它一定能帮助您编译 xmr-stak。

sudo apt-get remove cuda
sudo apt-get autoremove
sudo apt-get install cuda-9.0

相关内容