转载请注明出处:https://www.codelast.com/

成功编译ELL对gcc版本有要求,这而这一点在ELL的文档中并没有写。
gcc版本太低了是不行的,那么什么算版本低?反正我的gcc 4.8.4是不work的——使用低版本的gcc,你也可以照着文档完成很多步骤,但是到最后某一步,一定会遇到由于gcc版本低导致的问题,并且还没有直观的错误提示,查找问题源头可能会浪费你很多时间。

我在ELL的issue列表中看到有人说用gcc 6.3是OK的。但是,在Ubuntu 14.04上通过编译源码安装gcc 6并不那么容易。通过Google,我找到了如下这个很棒的答案,只需要在命令行粘贴如下命令再回车,就安装上了gcc 6,实在太爽:

sudo apt-get update && \
sudo apt-get install build-essential software-properties-common -y && \
sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y && \
sudo apt-get update && \
sudo apt-get install gcc-snapshot -y && \
sudo apt-get update && \
sudo apt-get install gcc-6 g++-6 -y && \
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-6 60 --slave /usr/bin/g++ g++ /usr/bin/g++-6 && \
sudo apt-get install gcc-4.8 g++-4.8 -y && \
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 60 --slave /usr/bin/g++ g++ /usr/bin/g++-4.8;

文章来源:https://www.codelast.com/
安装完成后,使用如下命令选择gcc版本:

sudo update-alternatives --config gcc

会打印出如下提示:

There are 2 choices for the alternative gcc (providing /usr/bin/gcc).
 
  Selection    Path              Priority   Status
------------------------------------------------------------
* 0            /usr/bin/gcc-6     60        auto mode
  1            /usr/bin/gcc-4.8   60        manual mode
  2            /usr/bin/gcc-6     60        manual mode

直接回车就是使用默认的gcc 6.3。
此时,再用 gcc -v 命令检查一下版本,我的输出如下:

Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/6/lto-wrapper
Target: x86_64-linux-gnu
Configured with: ...(内容很长,省略)
Thread model: posix
gcc version 6.3.0 20170519 (Ubuntu/Linaro 6.3.0-18ubuntu2~14.04)
这就OK了。
[原创] 在Ubuntu 14.04中安装gcc 6
Tagged on:         

发表评论

电子邮件地址不会被公开。 必填项已用*标注