美文网首页
2020-04-07 gcc从安装到崩溃

2020-04-07 gcc从安装到崩溃

作者: 沉潜_2f21 | 来源:发表于2020-04-07 21:39 被阅读0次

[环境配置]Ubuntu16.04下编译安装gcc6.3.0

SVS要用gcc6.3编译,否则结果不正确,本来以为gcc很好装,结果发现用apt-get安装gcc6只能安装6.5版本,代码作者奇特的要求只能用gcc6.3,没办法只能用源码装了,期间碰见了各种各样的问题,特此记录。

1.环境要求

安装gcc之前要安装gmp,mpfr,mpc,isl这几个库,并且要卸载旧的gcc,然而我们需要在最后安装gcc之前再卸载旧的gcc,因为安装必需的库时需要旧的gcc。

2.安装gmp

去官网下载最新的包,之后直接解压到想要安装的位置。安装步骤如下

$ cd gmp-6.1.2/

$ mkdir build

$ cd build/

$ ../configure -prefix=/usr/local/gmp-6.1.2

$ make -j12

$ sudo make install

我们把gmp安装在了/usr/local目录下,使用参数-j12是可以调用多线程加速编译的过程。

3.安装mpfr

同样是在官网下载最新的包,而后解压,安装步骤类似上一步。

$ cd mpfr-4.0.1/

$ mkdir build

$ cd build/

$ ../configure --prefix=/usr/local/mpfr-4.0.1 --with-gmp=/usr/local/gmp-6.1.2

$ make -j12

$ sudo make install

因为用到了上一步安装的gmp,因此mpfr的安装需放在gmp之后。

4.安装mpc

步骤依旧同上,源码在官网。

$ cd mpc-1.1.0/

$ mkdir build

$ cd build/

$ ../configure -prefix=/usr/local/mpc-1.1.0 -with-gmp=/usr/local/gmp-6.1.2 -with-mpfr=/usr/local/mpfr-4.0.1

$ make -j12

$ sudo make install

同时用到了gmp和mpfr。

5.安装isl

其实这一步不是必需的,但是我在某一步被卡住,然后发现是用到了isl库中的一个头文件,因此才安装这个库。isl的官网没有找到,但是有一个ftp上可以下载。

$ cd isl-0.18/

$ mkdir build

$ cd build/

$ ../configure --prefix=/usr/local/isl-0.18 --with-gmp=/usr/local/gmp-6.1.2

$ make -j12

$ sudo make install

只用到了gmp。

6.安装gcc6.3

终于到了我们的目标,gcc6.3,首先我们需要卸载旧的gcc

$ sudo update-alternatives --remove-all gcc

这一步会将gcc和g++相关卸载。接下来我们需要在环境变量里配置一下刚刚安装的几个库。

$ gedit ~/.bashrc

然后在最后加一行

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/mpc-1.1.0/lib:/usr/local/gmp-6.1.2/lib:/usr/local/mpfr-4.0.1/lib:/usr/local/isl-0.18/lib:/usr/local/lib:/usr/lib/x86_64-linux-gnu

如果不进行上面一步的话,可能会出现如下的错误

checking for suffix of object files... configure: error: in '/home/manu/gcc/gcc/i686-pc-linux-gnu/libgcc':

configure: error: cannot compute suffix of object files: cannot compile

See 'config.log' for more details.

一般缺少库都会产生这样的错误,我们需要打开config.log进行具体查看。之前没有安装isl库的时候就会在log文件中显示出来,而终端并没有显示具体的error。

接下来就是编译安装gcc6.3,源码在官网的镜像里可以找到,随便选一个ftp服务器,然后在releases分支里找到gcc6.3下载,之后解压。

$ cd gcc-6.3.0/

$ mkdir build

$ cd build/

$ ../configure --prefix=/usr/local/gcc-6.3 --disable-multilib --with-system-zlib --enable-languages=c,c++ --with-gmp=/usr/local/gmp-6.1.2 --with-mpfr=/usr/local/mpfr-4.0.1 --with-mpc=/usr/local/mpc-1.1.0 --with-isl=/usr/local/isl-0.18

$ make -j12

$ sudo make install

如果你需要gcc编译其他语言的话,可以在languages那里添加。make的过程非常漫长,就算我用了12个线程跑,也花了10分钟左右。

因为我们删除了gcc的链接,因此为了更方便地使用gcc,需要重新链接

$ cd /usr/bin

$ sudo ln -s /usr/local/gcc-6.3/bin/gcc gcc

$ sudo ln -s /usr/local/gcc-6.3/bin/g++ g++

最后检查一下gcc的版本

$ gcc -v

原文链接:https://blog.csdn.net/yrc19950911/java/article/details/86184269

相关文章

  • 2020-04-07 gcc从安装到崩溃

    [环境配置]Ubuntu16.04下编译安装gcc6.3.0 SVS要用gcc6.3编译,否则结果不正确,本来以为...

  • mysql安装到崩溃!!!

    安装mysql一切按照流程来,可是到最后一步出现如下错误! 按照网上说的方法使用360工具修复,任然报同样的错误 ...

  • Mac OS系统下升级gcc后切换

    1、brew search gcc 查看已安装和可安装的gcc版本 2、 brew install gcc@7 安...

  • 2019-08-02

    安装VMwaretools 安装GCCyum install gcc 使用:which gcc查看是否安装成功 安...

  • 2018-12-02

    redis安装和启动 环境: linux 工具: GCC + make 开始安装: 若出现错误,请检查gcc是否安...

  • GCC/G++如何安装到本地

    首先,gcc和g++是一起安装的。 1. 去gcc官网下载源代码 https://gcc.gnu.org 2.下载...

  • centos7下redis6安装配置

    安装准备 安装gcc gcc版本过低编译redis6.0时会报如下错误 升级到gcc 9.3: 2.开始安装下载安...

  • Linux下安装RabbitMQ(CentOS7)

    安装Erlang环境安装GCC GCC-C++ Openssl等模块,安装过就不需要安装了 安装ncurses 安...

  • Ubuntu16.04的GCC安装(降级)

    GCC从5.5降到5.4 (1) 下载gcc源码手动下载:http://ftp.gnu.org/gnu/gcc/(...

  • 腾讯云搭建Redis

    安装前注意事项: 安裝 GCC 编译工具 不然会有编译不过的问题 检查gcc是否安装成功 安装 Redis:下载,...

网友评论

      本文标题:2020-04-07 gcc从安装到崩溃

      本文链接:https://www.haomeiwen.com/subject/uawophtx.html