将 `gcc-8` 配置为默认 gcc “错误:没有 gcc 的替代品”

将 `gcc-8` 配置为默认 gcc “错误:没有 gcc 的替代品”

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

(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这里。然而当我运行

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-8 800 --slave /usr/bin/g++ g++ /usr/bin/g++-8

我收到以下错误:

update-alternatives:错误:替代 g++ 不能成为 gcc 的从属:它是一个主替代

当我尝试时:

(tensorflow_p36) ubuntu@user:~$ sudo update-alternatives --config gcc

我收到另一个错误:

update-alternatives:错误:没有 gcc 的替代方案

我怎么没有其他选择呢gcc?任何关于如何解决此错误并配置gcc-8为默认 gcc 安装的建议都将不胜感激。


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

ubuntu@user:~$ which gcc
ubuntu@user:~$

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

我尝试关注这个问题这里

(tensorflow_p36) ubuntu@user:~$ sudo apt install g++-8
g++-8 is already the newest version (8.3.0-6ubuntu1~18.04.1).

(tensorflow_p36) ubuntu@user:~$ sudo apt install gcc-8
gcc-8 is already the newest version (8.3.0-6ubuntu1~18.04.1).

更新。我正在按照以下有用的建议尝试以下操作,但仍然无济于事。

(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++ 版本时,情况仍然一样!

~$ g++ --version
g++ (GCC) 4.8.5

编辑

我也尝试使用 gcc:

There are 2 choices for the alternative gcc (providing /usr/bin/gcc).

  Selection    Path              Priority   Status
------------------------------------------------------------
  0            /usr/bin/gcc-8     80        auto mode
  1            /usr/bin/gcc-4.8   60        manual mode
* 2            /usr/bin/gcc-8     80        manual mode

Press <enter> to keep the current choice[*], or type selection number: 0
(tensorflow_p36) ubuntu@user:~$ gcc --version
gcc (GCC) 4.8.5

相关内容