降级 gcc 和 libc6 以满足 Ubuntu 16.10 上的 CUDA 8 要求

降级 gcc 和 libc6 以满足 Ubuntu 16.10 上的 CUDA 8 要求

几天前,我从 Fedora 切换到 Ubuntu,以获得更好的 CUDA 支持,但在降级时遇到了一些问题海湾合作委员会glibc/libc6要履行的包裹CUDA 8要求。

但让我们从头开始。几天前我安装了Ubuntu 16.10 Yakkety打算安装 CUDA 8 驱动程序和工具包。我已经将我当前的版本与 CUDA 8 要求进行了比较docs.nvidia.com/cuda/cuda-installation-guide-linux/

CUDA 8 要求是:

  • Ubuntu 16.04,内核 4.4.0
  • GCC 5.3.1
  • GLIBC/LIBC6 2.23

我当前的设置是:

$ uname -vr
4.8.0-26-generic #28-Ubuntu SMP Tue Oct 18 14:39:52 UTC 2016

$ dpkg -s gcc | grep Version
Version: 4:6.1.1-1ubuntu2

$ dpkg -s libc6 | grep Version
Version: 2.24-3ubuntu1

我认为降级就像输入以下内容一样简单:

sudo apt-get install gcc=5.3.1 
sudo apt-get install gcc=5.3

不幸的是,Yaketty 没有找到这些版本。我查看了packages.ubuntu.com(以及apt-cache 策略)适当的版本仅适用于Xenial,而对于Yakkety,只有gcc-5(5.4.1-2ubuntu2)2.24-3ubuntu1适用于 libc6。

总结:

  • 我想将 gcc 降级到 5.3.1,将 glibc/libc6 降级到 2.23,并以某种方式管理这些替代方案。我更喜欢使用类似 update-alternatives 的东西,而不是直接使用符号链接(不仅处理可执行文件,还处理所有库)。

  • 我可以通过将 Xenial 存储库暂时添加到“软件和更新”>“其他软件”列表中来降级并保持 100% 的稳定性吗?

  • 假设我设法降级 gcc 和 libc6,我是否可以在当前更高的内核 4.8.0(而不是 4.4.0)上安装 CUDA 8 而不会损失稳定性?(到目前为止,我只在安装指南中确切提到的内核版本上使用 CUDA。)

预先感谢您的帮助。

PS 我是 Ubuntu 的新手(到目前为止只使用过 Fedora 和 RHEL),所以这个问题可能非常小。

答案1

如果我有您的特定要求,既需要 16.04 的某些方面,也需要 16.10 的某些方面,我会选择简单的方法,要么同时启动 16.04 和 16.10,要么在 16.04 主机上运行 Virtualbox 下的虚拟机中运行 16.10。我认为这种替代方法比尝试将为其中一个设计的软件包与另一个混合使用会产生更稳定的操作。(当然,这种方法有时有效,但我不会指望它。)

要双重启动,只需告诉 16.04 安装程序在安装过程中与现有的 16.10 安装一起安装。

VirtualBox 可以通过软件中心安装。文档有空,如果你遇到困难,我们很多人都愿意帮助任何具体的困难

相关内容