几天前,我从 Fedora 切换到 Ubuntu 以获得更好的 CUDA 支持,但我在降级gcc和glibc/libc6软件包以满足CUDA 8要求时遇到了一些问题。
但是,让我们从头开始。几天前,我安装了Ubuntu 16.10 Yakkety,打算安装 CUDA 8 驱动程序和工具包。我已经将我当前的版本与 CUDA 8 要求docs.nvidia.com/cuda/cuda-installation-guide-linux/进行了比较:
CUDA 8 要求是:
- 带有内核 4.4.0 的 Ubuntu 16.04
- 海合会 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 policy)检查了适当的版本仅适用于 Xenial,而对于 Yakkety,libc6 只有gcc-5 (5.4.1-2ubuntu2)和2.24-3ubuntu1。
总结一下:
我想将 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),所以这个问题可能是非常微不足道的。
如果我有您需要 16.04 方面和 16.10 方面的特定要求,我会采取简单的方法,要么双启动 16.04 和 16.10,要么在运行在 16.04 主机上的 Virtualbox 下的 VM 中运行 16.10。我认为这种替代方法将导致比尝试混合为另一种设计的软件包更稳定的操作。(当然这有时有效,但这不是我指望的事情。)
要双启动,只需在安装过程中告诉 16.04 安装程序与您现有的 16.10 安装一起安装。
VirtualBox 可以通过软件中心安装。文档可用,如果您遇到困难我们中的许多人都渴望帮助解决任何具体困难