Linux(Centos)下编译安装gcc4.8.2

gcc4.8.1 开始完全支持C++11 的编译器。今天教大家安装gcc4.8.1版本。

Linux(Centos)下编译安装gcc4.8.2

  • 获取gcc4.8.2包:

    下载链接:http://gcc.skazkaforyou.com/releases ,里面有gcc所有的版本,自行下载。
    也可以选择(推荐):

    $ wget http://gcc.skazkaforyou.com/releases/gcc-4.8.2/gcc-4.8.2.tar.gz
    
  • 解压缩

    $ tar -zxvf gcc-4.8.2.tar.gz
    
  • 安装依赖

    安装编译gcc4.8.2,系统需要安装一个低版本的gcc如果 gccgcc-c++ 机器已经安装,此步骤可以略过

      ```sh
      $ yum update
      $ yum install gcc
      $ yum install gcc-c++
      ```
    

    进入 gcc-4.8.2 目录,执行 ./contrib/download_prerequisites 脚本,会自动下载三个依赖库别为gmp-4.3.2mpfr-2.4.2mpc-0.8.1

    $ cd gcc-4.8.2
    $ ./contrib/download_prerequisites
    
  • 编译

    $ cd gcc-4.8.2
    $ ./configure --prefix=/usr --enable-threads=posix --disable-checking --enable-languages=c,c++ --disable-multilib 
    $ sudo make && make install
    
  • 验证

    $ gcc -v
    
  • 参考地址

安装错误解决方案:

onfigure: error: in `/opt/soft/gcc-4.8.2': configure: error: no acceptable C compiler found in $PATH

缺少 gcc,安装即可:
```sh
$ yum update
$ yum install gcc

configure: error: C++ compiler missing or inoperational

缺少 gcc-c++,安装即可:
sh $ yum update $ yu

libstdc++.so.6: version 'GLIBCXX_3.4.15' not found错误的解决

  • 错误原因是缺少GLIBCXX_3.4.15版本,或是更高的版本。为了核实版本问题:

    $ strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX
    
    GLIBCXX_3.4
    GLIBCXX_3.4.1
    GLIBCXX_3.4.2
    GLIBCXX_3.4.3
    GLIBCXX_3.4.4
    GLIBCXX_3.4.5
    GLIBCXX_3.4.6
    GLIBCXX_3.4.7
    GLIBCXX_3.4.8
    GLIBCXX_3.4.9
    GLIBCXX_3.4.10
    GLIBCXX_3.4.11
    GLIBCXX_3.4.12
    GLIBCXX_3.4.13
    GLIBCXX_FORCE_NEW
    GLIBCXX_DEBUG_MESSAGE_LENGTH
    

    我们看到当前gcc版本中的确没有GLIBCXX_3.4.15,考虑到刚安装过新版的gcc,似乎不应该出现这样的问题。

    顺着gcc安装路径,找到了新的libstdc++

    $ strings /usr/local/lib64/libstdc++.so.6.0.20|grep GLIBCXX
    
    GLIBCXX_3.4
    GLIBCXX_3.4.1
    GLIBCXX_3.4.2
    GLIBCXX_3.4.3
    GLIBCXX_3.4.4
    GLIBCXX_3.4.5
    GLIBCXX_3.4.6
    GLIBCXX_3.4.7
    GLIBCXX_3.4.8
    GLIBCXX_3.4.9
    GLIBCXX_3.4.10
    GLIBCXX_3.4.11
    GLIBCXX_3.4.12
    GLIBCXX_3.4.13
    GLIBCXX_3.4.14
    GLIBCXX_3.4.15
    GLIBCXX_3.4.16
    GLIBCXX_3.4.17
    GLIBCXX_3.4.18
    GLIBCXX_3.4.19
    GLIBCXX_3.4.20
    GLIBCXX_FORCE_NEW
    GLIBCXX_DEBUG_MESSAGE_LENGTH
    
    

    这里该有的都有了,把这份软链到正确的地方,就妥了。

    $ cp /usr/local/lib64/libstdc++.so.6.0.20 /usr/lib64/
    $ cd /usr/lib64/
    $ rm -f libstdc++.so.6
    $ ln -s libstdc++.so.6.0.20 libstdc++.so.6
    $ ll libstdc*
    lrwxrwxrwx. 1 root root      19 5月  12 13:34 libstdc++.so.6 -> libstdc++.so.6.0.20
    -rwxr-xr-x. 1 root root  987096 11月 22 02:08 libstdc++.so.6.0.13
    -rwxr-xr-x. 1 root root 6700716 5月  12 13:33 libstdc++.so.6.0.20
    

    此后,再进行编译安装就顺畅了

  • 参考地址

我们是
二手转转前端(大转转FE)
知乎专栏:https://zhuanlan.zhihu.com/zhuanzhuan
官方微信公共号:zhuanzhuanfe
微信公众二维码:

微信公众二维码

关注我们,我们会定期分享一些团队对前端的想法与沉淀

你可能感兴趣的:(Linux(Centos)下编译安装gcc4.8.2)