首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用更新版本的gcc在乌本图上?

如何使用更新版本的gcc在乌本图上?
EN

Stack Overflow用户
提问于 2019-11-23 17:54:48
回答 1查看 5.5K关注 0票数 2

我正在运行ubuntu 18.04,目前我有:

代码语言:javascript
复制
(tensorflow_p36) ubuntu@user:~$ gcc --version
gcc (GCC) 4.8.5

(tensorflow_p36) ubuntu@user:~$ gcc-8 --version
gcc-8 (Ubuntu 8.3.0-6ubuntu1~18.04.1) 8.3.0

(tensorflow_p36) ubuntu@user:~$ which gcc
/home/ubuntu/anaconda3/envs/tensorflow_p36/bin/gcc

我正在尝试使用最新的gcc-8作为显示here。但是当我跑的时候

代码语言:javascript
复制
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-8 800 --slave /usr/bin/g++ g++ /usr/bin/g++-8

我得到以下错误:

更新-替代:错误:替代g++不能是gcc的奴隶:它是一个主要的选择

当我尝试:

代码语言:javascript
复制
(tensorflow_p36) ubuntu@user:~$ sudo update-alternatives --config gcc

我又犯了一个错误:

更新-备选方案:错误: gcc没有替代方案

为什么我没有替代gcc的方法?任何建议,我可以如何解决这个错误,并将gcc-8配置为默认gcc安装将不胜感激。

从conda环境外部运行which gcc不会返回任何内容:

代码语言:javascript
复制
ubuntu@user:~$ which gcc
ubuntu@user:~$

代码语言:javascript
复制
ubuntu@user:~$ gcc-8 --version
gcc-8 (Ubuntu 8.3.0-6ubuntu1~18.04.1) 8.3.0

更新。我正在按照下面的有益建议尝试以下几点,但仍然没有效果。

代码语言:javascript
复制
(tensorflow_p36) ubuntu@user:~$ sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-8 40
(tensorflow_p36) ubuntu@user:~$ sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.8 60
(tensorflow_p36) ubuntu@user:~$ sudo update-alternatives --config g++
There are 3 choices for the alternative g++ (providing /usr/bin/g++).

  Selection    Path                             Priority   Status
------------------------------------------------------------
* 0            /usr/bin/x86_64-linux-gnu-g++-7   100       auto mode
  1            /usr/bin/g++-4.8                  60        manual mode
  2            /usr/bin/g++-8                    40        manual mode
  3            /usr/bin/x86_64-linux-gnu-g++-7   100       manual mode

Press <enter> to keep the current choice[*], or type selection number: 2
update-alternatives: using /usr/bin/g++-8 to provide /usr/bin/g++ (g++) in manual mode

到目前为止还不错,但是当我测试g++版本时,它仍然是一样的!

代码语言:javascript
复制
~$ g++ --version
g++ (GCC) 4.8.5
EN

回答 1

Stack Overflow用户

发布于 2021-07-03 03:46:55

很有可能你来了是因为英伟达的东西爆炸了。(我使用的是cudatoolkit 11.4,实际上被降级让我摆脱了麻烦--你的里程可能会有所不同。)

代码语言:javascript
复制
sudo apt install gcc-9 g++-9
sudo mkdir /usr/local/cuda/bin
sudo ln -s /usr/bin/gcc-9 /usr/local/cuda/bin/gcc

警告-我建议使用时间差备份您的工作系统。https://github.com/teejee2008/timeshift

这将给你最新的gcc 11

代码语言:javascript
复制
sudo add-apt-repository 'deb http://mirrors.kernel.org/ubuntu hirsute main universe'
sudo apt-get install g++-11
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-11 100
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-11 50
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 100
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 50
sudo update-alternatives --install /usr/bin/cpp cpp-bin /usr/bin/cpp-11 100
sudo update-alternatives --install /usr/bin/cpp cpp-bin /usr/bin/cpp-11 50
sudo update-alternatives --set g++ /usr/bin/g++-11
sudo update-alternatives --set gcc /usr/bin/gcc-11
sudo update-alternatives --set cpp-bin /usr/bin/cpp-11
gcc --version
gcc (Ubuntu 11-20210417-1ubuntu1) 11.0.1 20210417 

版权(C) 2021年自由软件基金会

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59010563

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档