GCC升级

系统:CentOS-6.5-x86_64-minimal

为了使用c++11特性,升级gcc.

wget http://ftp.tsukuba.wide.ad.jp/software/gcc/releases/gcc-4.9.2/gcc-4.9.2.tar.bz2
tar -xjvf gcc-4.9.2.tar.bz2
cd gcc-4.9.2.tar.bz2
./configure

wget下载慢,服务器也是日本的,可以用QQ旋风或迅雷下载,再psftp上传,

出现错误:

configure: error: Building GCC requires GMP 4.2+, MPFR 2.4.0+ and MPC 0.8.0+.
Try the --with-gmp, --with-mpfr and/or --with-mpc options to specify
their locations.  Source code for these libraries can be found at
their respective hosting sites as well as at
ftp://gcc.gnu.org/pub/gcc/infrastructure/. 

安装gmp、mpfr、mpc

下载地址:

http://ftp.tsukuba.wide.ad.jp/software/gcc/infrastructure/gmp-4.3.2.tar.bz2
http://ftp.tsukuba.wide.ad.jp/software/gcc/infrastructure/mpfr-2.4.2.tar.bz2
http://ftp.tsukuba.wide.ad.jp/software/gcc/infrastructure/mpc-0.8.1.tar.gz

解压后逐个安装,

./configure
make
make install

再次错误,

The following languages will be built: c,c++,fortran,java,lto,objc
*** This configuration is not supported in the following subdirectories:
     gnattools target-libada target-libgo target-libbacktrace
    (Any other directories should still work fine.)
checking for default BUILD_CONFIG... bootstrap-debug
checking for --enable-vtable-verify... no
/usr/bin/ld: crt1.o: No such file: No such file or directory
collect2: ld returned 1 exit status
configure: error: I suspect your system does not have 32-bit developement libraries (libc and headers).If you have them, rerun configure with --enable-multilib. If you do not have them, and want to build a 64-bit-only compiler, rerun configure with --disable-multilib.

系统没有32位开发支持库,可以运行yum install glibc-devel.i686安装,不过我这里不需要编译32位程序,直接

./configure --disable-multilib

这回配置完成,

make

出现错误,

checking whether build environment is sane... configure: error: newly created file is older than distributed files!
Check your system clock
make[2]: *** [configure-stage1-zlib] Error 1
make[2]: Leaving directory `/root/gcc-4.9.2‘
make[1]: *** [stage1-bubble] Error 2
make[1]: Leaving directory `/root/gcc-4.9.2‘
make: *** [all] Error 2

更新时间,

ntpdate cn.pool.ntp.org

继续

make

约半小时后,出现错误,

checking for suffix of object files... configure: error: in `/root/gcc-4.9.2/x86_64-unknown-linux-gnu/libgcc‘:
configure: error: cannot compute suffix of object files: cannot compile
See `config.log‘ for more details.
make[2]: *** [configure-stage1-target-libgcc] Error 1
make[2]: Leaving directory `/root/gcc-4.9.2‘
make[1]: *** [stage1-bubble] Error 2
make[1]: Leaving directory `/root/gcc-4.9.2‘
make: *** [all] Error 2

查看config.log,发现在配置libgcc时出错了,yum list libgcc,发现已安装libgcc.x86_64,难道要装i686的?go~

yum install libgcc.i686

继续

make

约四小时这样子就编译完成了,

make install

几分钟就安装完成。

看效果

gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/x86_64-unknown-linux-gnu/4.9.2/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with: ./configure --disable-multilib
Thread model: posix
gcc version 4.9.2 (GCC)
时间: 2024-10-23 13:08:02

GCC升级的相关文章

linux下gcc升级

由于最近公司老大安排对gcc进行升级,所以就整理下这篇文档,希望对有些盆友有些许帮助 1 安装gmp4.3.2 tar jxvf gmp-4.3.2.tar.bz2 mkdir /usr/local/gmp-4.3.2 cd /usr/local/gmp-4.3.2 /opt/gmp-4.3.2/configure --prefix=/usr/local/gmp-4.3.2 make  && make install 2 安装mpfr2.4.2 tar jxvf mpfr2.4.2.tar

CentOS 6下gcc升级的操作记录(由默认的4.4.7升级到6.4.0版本)

机房一台centos6.9机器部署了jenkins发布系统,开发人员在用node编译js,发现依赖的gcc版本低了,故需要将gcc升级到高版本(至少5.0版本以上),这里选择升级到6.4.0版本,下面是升级的操作记录: 1)查看系统版本 [[email protected] ~]# cat /etc/redhat-release CentOS release 6.9 (Final) 2)查看默认的gcc版本 [[email protected] ~]# gcc --version gcc (GC

CentOS6.5 gcc升级到4.8.2

操作系统:Centos 6.5 64位 原GCC版本:4.4.7: 目标:升级GCC到4.8.2,以支持C++11. 1.获取GCC 4.8.2包: wget http://ftp.tsukuba.wide.ad.jp/software/gcc/releases/gcc-4.8.2/gcc-4.8.2.tar.bz2 2.解压缩: tar -jvxf gcc-4.8.2.tar.bz2 3.下载.配置.安装依赖库,可以节约我们大量的时间和精力. 进入到目录gcc-4.8.2,运行: ./cont

杂记:Linux下gcc升级

公司要求,需要在CentOS6.5系统下进行一些测试.因为编写的测试程序中使用了一些C++11之后新增的特性,而CentOS6.5中安装的gcc版本为4.4.7,并不支持C++11,所以需要对gcc进行升级,在此记下升级过程,本次升级过程需要使用到root权限,所以安装时需要切换到root用户. 1.准备工作 因为升级过程中需要使用到g++,而CentOS系统并没有默认安装g++,所以需要手动安装,终端执行"yum install gcc-c++":之后还需要安装flex,不然之后的g

升级gcc与gdb

一.gcc升级4.9.2 1.解压 tarzxvf gcc-4.9.2.tar.gz cdgcc-4.9.2 2.下载依赖项 ./contrib/download_prerequisites 3.建立编译输出目录 mkdir gcc-build-4.9.2 4.进入输出目录,执行以下命令,并生成makefile文件: cdgcc-build-4.9.2 ../configure --enable-checking=release --enable-languages=c,c++--disable

为了编译AVX代码,升级Redhat 5.5 GCC到4.7.1

Redhat 的GCC编译器是4.1版本,对于SSE4,AVX,AVX2的支持不够好,官方建议4.7以上.因此开始了GCC升级之路. 由于Redhat 5.5是在虚拟机下安装的,网上的升级够略都不能完全解决,经过若干尝试,下面过程可行. 主要参考如下: http://blog.sciencenet.cn/blog-714229-600604.html http://blog.sciencenet.cn/blog-714229-600389.html http://blog.rekfan.com/

ubuntu16.04系统gcc下降和升级

gcc下降 1 安装 sudo apt-get install -y gcc-4.7 sudo apt-get install -y g++-4.7 2 重新建立软连接 cd /usr/bin #进入/usr/bin文件夹下 sudo rm -r gcc #移除之前的软连接 sudo ln -sf gcc-4.7 gcc #建立gcc4.7的软连接 sudo rm -r g++ #同gcc sudo ln -sf g++-4.7 g++ 这样,gcc下降就做好了 可以通过 gcc -versio

redhat 升级gdb7.6

gcc升级到4.8后 gdb版本太低不能用,所以要相应的升级gdb 在http://www.gnu.org/software/gdb/download/下载gdb7.6 放到/opt/gdb7.6目录下 然后 ./configure --prefix=/opt/gdb7.6/gdb make sudo make install 注意:最后一步直接make install时可能会报奇怪的错误,加上sudo后可正常安装! redhat 升级gdb7.6,布布扣,bubuko.com

centos6升级gcc-5.4及cmake3

系统 # cat /etc/redhat-release CentOS release 6.8 (Final) 1.升级gcc-5.4.0安装之前系统gcc版本 # gcc -v Using built-in specs. Target: x86_64-redhat-linux Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=ht