【问题标题】:how to make a soft link for gcc/g++ 4.5如何为 gcc/g++ 4.5 建立软链接
【发布时间】:2012-06-25 18:50:37
【问题描述】:

这是我从帮助我在混合系统上安装 CUDA 的网站获得的一些说明的一部分。我正在使用 ubuntu 12.04 LTS 双启动以及英特尔集成显卡和 NVIDIA GEForce GT 540M 的混合显卡系统。

--外部指令-- 可能导致问题的最后一件事是 gcc 和 g++ 的版本。长话短说,确保 /usr/bin(以及随后的 /usr/local/cuda/bin)中的指针 gcc 和 g++ 指向 gcc-4.5 和 g++-4.5(可以通过 apt-get 获取),因为它们是nvcc 支持的最新版本。使用软链接命令来实现。

--回到我身边-- 假设下载它们 apt-get 安装 gcc-4.5 g++-4.5 这部分就足够了。

但是,我如何确保“指针”(如何识别它们?)与最近下载的版本相关联。我知道软链接命令是

ln -s "target" "symbol" (一个用于 gcc) ln -s "target" "symbol" (一个用于g++)

我不想做错这件事,而且我对 linux 还很陌生,所以请帮助我了解“目标”和“符号”应该是什么样子,我会继续前进的。

亚历克斯

【问题讨论】:

  • +1 用于混合图形系统上的 Ubuntu。
  • 我不认为使用更新版本的 GCC(例如 4.6 或 4.7)会破坏 Nvidia Cuda。你可以从你的$HOME/bin/gcc 到你想要的任何版本的gcc 的符号链接,因为$HOME/bin 在你的$PATH 中通常在/usr/bin/ 之前

标签: linux gcc ubuntu linker cuda


【解决方案1】:

最好使用update alternatives 来管理系统的默认 gcc。例如,您有两个版本 4.4 和 4.5。对于 CUDA,您需要 4.4.x 版本的 gcc/ 让我们将其设置为系统默认值:

sudo update-alternatives \
--install /usr/bin/gcc gcc /usr/bin/gcc-4.5 40 \
--slave /usr/bin/g++ g++ /usr/bin/g++-4.5 

sudo update-alternatives \
--install /usr/bin/gcc gcc /usr/bin/gcc-4.4 60 \
--slave /usr/bin/g++ g++ /usr/bin/g++-4.4

软链接可能有用,但我认为update alternatives 是最简单的方法。

【讨论】:

  • 数字 40 和 60 是干什么用的?
  • 这是一个优先事项。系统选择具有最高优先级的组成员(在您的情况下为 gcc)(本例为 60)。请see
  • 更新替代方案是执行此操作的规范方法。使用替代方案的一个额外好处是在软件更新后将遵守该设置。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多