Centos升级gcc-4.4.7至gcc-4.8.5 笔记

最近在编译安装node-v4.7 以上版本的时候,需要gcc-4.8以上的版本才能编译通过;而CentOS release 6.5 (Final) 的gcc版本是gcc-4.4.7,显然低了。所以自己手动编译升级gcc-4.4.7至gcc-4.8.5吧

一、查看当前系统以及gcc版本号

[root@huangdc local]#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=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-languages=c,c++,objc,obj-c++,java,fortran,ada --enable-java-awt=gtk --disable-dssi --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre --enable-libgcj-multifile --enable-java-maintainer-mode --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --disable-libjava-multilib --with-ppl --with-cloog --with-tune=generic --with-arch_32=i686 --build=x86_64-redhat-linux
Thread model: posix
gcc version 4.4.7 20120313 (Red Hat 4.4.7-17) (GCC)  

[root@huangdc local]# cat /etc/redhat-release 
CentOS release 6.5 (Final)

[root@huangdc local]# uname -a
Linux huangdc 2.6.32-431.11.25.el6.ucloud.x86_64 #1 SMP Tue Jul 19 10:06:12 EDT 2016 x86_64 x86_64 x86_64 GNU/Linux

可以看到,gcc的版本是 gcc-4.4.7 ,centos 6.5 ,x86_64

二、下载解压并手动编译安装gcc-4.8.5

# 下载gcc
wget ftp://ftp.gnu.org/gnu/gcc/gcc-4.8.5/gcc-4.8.5.tar.gz
# 解压并进入目录
tar zxf gcc-4.8.5.tar.gz
cd gcc-4.8.5

# 安装依赖三大件,会自动顺序安装gmp、mpfr、mpc
./contrib/download_prerequisites

# 回到上级,创建编译目录 gcc-4.8.5-build
cd ..
mkdir gcc-4.8.5-build
cd gcc-4.8.5-build

# 开始编译安装
../gcc-4.8.5/configure --prefix=/usr/local/gcc --enable-languages=c,c++ --build=x86_64-linux --disable-multilib
# 设置环境变量 LD_LIBRARY_PATH
LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/lib"
## make -j$(nproc)
make -j8
make install

编译安装说明以及注意

1、服务器是 x86_64 最好在configure阶段加上编译选项–build=x86_64-linux,避免找不到到文件之类的错误

2、–prefix 不覆盖原来的gcc,自定义编译安装路径

3、–enable-languages 编译出来的gcc支持的语言

4、LD_LIBRARY_PATH 环境变量很重要,如果不指定,make会出奇奇怪怪的错误,LD_LIBRARY_PATH用于在程序加载运行期间查找动态链接库时指定除了系统默认路径之外的其他路径

5、make -j8 指定线程个数,我这里是8线程cpu

三、配置环境变量PATH

在文件 ~/.bashrc 中添加下面一行
export PATH=/usr/local/gcc/bin:$PATH
保存后执行 source ~/.bashrc

四、检查最新版gcc

[root@huangdc local]# gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/local/gcc/libexec/gcc/x86_64-linux/4.8.5/lto-wrapper
Target: x86_64-linux
Configured with: ../gcc-4.8.5/configure --prefix=/usr/local/gcc --enable-languages=c,c++ --build=x86_64-linux --disable-multilib
Thread model: posix
gcc version 4.8.5 (GCC)

大功完成!!

转载请注明:Huangdc » Centos升级gcc-4.4.7至gcc-4.8.5 笔记

results matching ""

    No results matching ""