【问题标题】:Installing CUDA on Ubuntu 16.04 (unmet dependencies)在 Ubuntu 16.04 上安装 CUDA(未满足的依赖项)
【发布时间】:2018-09-18 12:52:27
【问题描述】:

我是 Ubuntu 的新手,正在尝试在其上安装 CUDA。我就是做不到。

我安装了 Nvidia R390 驱动程序(这很麻烦)。

然后我按照以下说明操作:

http://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html

当我点击 sudo apt-get install cuda

以下错误弹出:

     Reading package lists... Done
    Building dependency tree       
    Reading state information... Done
    You might want to run 'apt-get -f install' to correct these.
    The following packages have unmet dependencies:
     cuda-cublas-dev-9-1 : Depends: cuda-cublas-9-1 (>= 9.1.85.3) but it is not installed
     cuda-cufft-dev-9-1 : Depends: cuda-cufft-9-1 (>= 9.1.85) but it is not installed
     cuda-curand-dev-9-1 : Depends: cuda-curand-9-1 (>= 9.1.85) but it is not installed
     cuda-cusolver-dev-9-1 : Depends: cuda-cusolver-9-1 (>= 9.1.85) but it is not installed
     cuda-cusparse-dev-9-1 : Depends: cuda-cusparse-9-1 (>= 9.1.85) but it is not installed
     cuda-libraries-9-1 : Depends: cuda-nvrtc-9-1 (>= 9.1.85) but it is not installed
                          Depends: cuda-nvgraph-9-1 (>= 9.1.85) but it is not installed
                          Depends: cuda-cusolver-9-1 (>= 9.1.85) but it is not installed
                          Depends: cuda-cublas-9-1 (>= 9.1.85) but it is not installed
                          Depends: cuda-cufft-9-1 (>= 9.1.85) but it is not installed
                          Depends: cuda-curand-9-1 (>= 9.1.85) but it is not installed
                          Depends: cuda-cusparse-9-1 (>= 9.1.85) but it is not installed
                          Depends: cuda-npp-9-1 (>= 9.1.85) but it is not installed
     cuda-npp-dev-9-1 : Depends: cuda-npp-9-1 (>= 9.1.85) but it is not installed
     cuda-nvgraph-dev-9-1 : Depends: cuda-nvgraph-9-1 (>= 9.1.85) but it is not installed
     cuda-nvrtc-dev-9-1 : Depends: cuda-nvrtc-9-1 (>= 9.1.85) but it is not installed
     cuda-toolkit-9-1 : Depends: cuda-nvml-dev-9-1 (>= 9.1.85) but it is not installed
     cuda-visual-tools-9-1 : Depends: cuda-nvml-dev-9-1 but it is not installed
    E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).

所以我使用sudo apt-get -f install,但出现以下错误:

Preparing to unpack .../cuda-nvrtc-9-1_9.1.85-1_amd64.deb ...
Unpacking cuda-nvrtc-9-1 (9.1.85-1) ...
dpkg: error processing archive /var/cache/apt/archives/cuda-nvrtc-9-1_9.1.85-1_amd64.deb (--unpack):
 trying to overwrite '/usr/local/cuda-9.1/lib64', which is also in package cuda-cudart-9-1 9.1.85-1
Preparing to unpack .../cuda-cusolver-9-1_9.1.85-1_amd64.deb ...
Unpacking cuda-cusolver-9-1 (9.1.85-1) ...
dpkg: error processing archive /var/cache/apt/archives/cuda-cusolver-9-1_9.1.85-1_amd64.deb (--unpack):
 trying to overwrite '/usr/local/cuda-9.1/lib64', which is also in package cuda-cudart-9-1 9.1.85-1
Preparing to unpack .../cuda-cublas-9-1_9.1.85.3-1_amd64.deb ...
Unpacking cuda-cublas-9-1 (9.1.85.3-1) ...
dpkg: error processing archive /var/cache/apt/archives/cuda-cublas-9-1_9.1.85.3-1_amd64.deb (--unpack):
 trying to overwrite '/usr/local/cuda-9.1/lib64', which is also in package cuda-cudart-9-1 9.1.85-1
Preparing to unpack .../cuda-cufft-9-1_9.1.85-1_amd64.deb ...
Unpacking cuda-cufft-9-1 (9.1.85-1) ...
dpkg: error processing archive /var/cache/apt/archives/cuda-cufft-9-1_9.1.85-1_amd64.deb (--unpack):
 trying to overwrite '/usr/local/cuda-9.1/lib64', which is also in package cuda-cudart-9-1 9.1.85-1
No apport report written because MaxReports is reached already
                                                              Preparing to unpack .../cuda-curand-9-1_9.1.85-1_amd64.deb ...
Unpacking cuda-curand-9-1 (9.1.85-1) ...
dpkg: error processing archive /var/cache/apt/archives/cuda-curand-9-1_9.1.85-1_amd64.deb (--unpack):
 trying to overwrite '/usr/local/cuda-9.1/lib64', which is also in package cuda-cudart-9-1 9.1.85-1
No apport report written because MaxReports is reached already
                                                              Preparing to unpack .../cuda-cusparse-9-1_9.1.85-1_amd64.deb ...
Unpacking cuda-cusparse-9-1 (9.1.85-1) ...
dpkg: error processing archive /var/cache/apt/archives/cuda-cusparse-9-1_9.1.85-1_amd64.deb (--unpack):
 trying to overwrite '/usr/local/cuda-9.1/lib64', which is also in package cuda-cudart-9-1 9.1.85-1
No apport report written because MaxReports is reached already
                                                              Preparing to unpack .../cuda-npp-9-1_9.1.85-1_amd64.deb ...
Unpacking cuda-npp-9-1 (9.1.85-1) ...
dpkg: error processing archive /var/cache/apt/archives/cuda-npp-9-1_9.1.85-1_amd64.deb (--unpack):
 trying to overwrite '/usr/local/cuda-9.1/lib64', which is also in package cuda-cudart-9-1 9.1.85-1
No apport report written because MaxReports is reached already
                                                              Preparing to unpack .../cuda-nvml-dev-9-1_9.1.85-1_amd64.deb ...
Unpacking cuda-nvml-dev-9-1 (9.1.85-1) ...
dpkg: error processing archive /var/cache/apt/archives/cuda-nvml-dev-9-1_9.1.85-1_amd64.deb (--unpack):
 trying to overwrite '/usr/local/cuda-9.1/lib64', which is also in package cuda-cudart-9-1 9.1.85-1
No apport report written because MaxReports is reached already
                                                              Preparing to unpack .../cuda-nvgraph-9-1_9.1.85-1_amd64.deb ...
Unpacking cuda-nvgraph-9-1 (9.1.85-1) ...
dpkg: error processing archive /var/cache/apt/archives/cuda-nvgraph-9-1_9.1.85-1_amd64.deb (--unpack):
 trying to overwrite '/usr/local/cuda-9.1/lib64', which is also in package cuda-cudart-9-1 9.1.85-1
No apport report written because MaxReports is reached already
                                                              Errors were encountered while processing:
 /var/cache/apt/archives/cuda-nvrtc-9-1_9.1.85-1_amd64.deb
 /var/cache/apt/archives/cuda-cusolver-9-1_9.1.85-1_amd64.deb
 /var/cache/apt/archives/cuda-cublas-9-1_9.1.85.3-1_amd64.deb
 /var/cache/apt/archives/cuda-cufft-9-1_9.1.85-1_amd64.deb
 /var/cache/apt/archives/cuda-curand-9-1_9.1.85-1_amd64.deb
 /var/cache/apt/archives/cuda-cusparse-9-1_9.1.85-1_amd64.deb
 /var/cache/apt/archives/cuda-npp-9-1_9.1.85-1_amd64.deb
 /var/cache/apt/archives/cuda-nvml-dev-9-1_9.1.85-1_amd64.deb
 /var/cache/apt/archives/cuda-nvgraph-9-1_9.1.85-1_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

有人可以帮忙吗?我的想法不多了。谢谢!

【问题讨论】:

标签: ubuntu tensorflow cuda nvidia


【解决方案1】:
  • here下载最新版本
  • 然后停止你的 X 显示管理器(lightdm 是 ubuntu 的默认设置)

    sudo service lightdm stop
    
  • 安装显示驱动程序(推荐)和 CUDA 工具包

    sudo chmod +x  cuda_9.0_linux.run
    sudo ./cuda_9.0_linux.run
    
  • POST-INSTALL(将这些行添加到 .bashrc 文件的末尾)

    export CUDA_HOME=/usr/local/cuda-9.0
    export LD_LIBRARY_PATH=${CUDA_HOME}/lib64:$LD_LIBRARY_PATH
    
    PATH=${CUDA_HOME}/bin:${PATH} 
    export PATH 
    
  • CUDNN 安装(可选)

    HERE获取 CUDNN 资料

    tar -xzvf cudnn-X.Y.tgz
    cd cudnn-X.Y/cuda
    sudo cp -r * /usr/local/cuda-9.0
    sudo ldconfig
    

    请记住检查您要安装的 tensorflow 版本支持哪些版本的 cuda 和 cudnn。 (例如 cuda9.0,cudnn7 用于 tensorflow 1.7,这是我写这个答案时的最新版本)

【讨论】:

  • 感谢您的详细回复。我试图安装 CUDA 9-1 而不是 9.0。在安装过程中我遇到了麻烦。我知道目前 tensorflow 不支持 deb 的 cuda 9.1。但我的计划是从源代码构建,因为 tensorflow 在未来将不可避免地支持 9.1。另一方面,我注意到 Nvidia R390 在安装时试图清除 CUDA 9.1,而 CUDA 9.1 试图将 R390 恢复为 R387。你经历过吗?
【解决方案2】:

我没有复制问题,但您的跟踪表明 /boot 分区空间不足。尝试清除一些旧内核,然后重新运行该命令。您的安装应该会正常恢复。我希望这会有所帮助:)

【讨论】:

  • 非常感谢。我在执行 sudo apt-get autoremove 时遇到了麻烦,因为它抱怨未满足的依赖关系。我删除了其中一个 PPA,它似乎暂时解决了这个问题。但是,出现了其他问题。我认为我在安装 9.1 时没有正确删除 CUDA 9.0,这是一个很大的错误。现在,我可能不得不擦除整个 Ubuntu 并重新安装它,因为很多系统配置都搞砸了。
猜你喜欢
  • 1970-01-01
  • 2017-11-17
  • 2017-10-03
  • 2017-07-17
  • 1970-01-01
  • 2015-04-01
  • 2013-02-22
  • 2015-01-13
  • 1970-01-01
相关资源
最近更新 更多