node.js 4.x 的第三方扩展编译时要求 gcc 版本为 4.8,但是 CentOS 6.4 仓库里的版本为 4.4.7,在生产环境从第三方仓库里安装最新版 gcc 又不放心,还是自已从源代码编译安装吧。
下载 gcc 源代码
wget http://mirror.lzu.edu.cn/gnu/gcc/gcc-5.2.0/gcc-5.2.0.tar.bz2 tar xjvf gcc-5.2.0.tar.bz2 cd gcc-5.2.0
官方的下载地址为 ftp://ftp.gnu.org/gnu/gcc/ ,使用国内镜像 http://mirror.lzu.edu.cn/gnu/gcc 快很多。
gnu 中国的 镜像列表
Asia
China http://mirror.hust.edu.cn/gnu/ http://mirrors.ustc.edu.cn/gnu/ ftp://mirrors.ustc.edu.cn/gnu/ rsync://mirrors.ustc.edu.cn/gnu/
安装依赖的包
yum install gmp-devel mpfr-devel libmpc-devel
参考自 INSTALL 目录下的文档。
编译安装
./configure --prefix=/opt/gcc-5.2.0 --disable-multilib &&\ make &&\ make -k check &&\ make install
--disable-multilib
只编译 64 位。编译时间会耗时几个小时,这段时间最好去干点别的。
切换gcc版本
export PATH=/opt/gcc-5.2.0/bin:$PATH export LD_LIBRARY_PATH=/opt/gcc-5.2.0/lib64/:$LD_LIBRARY_PATH
或
export CC=/opt/gcc-5.2.0/bin/gcc export CPP=/opt/gcc-5.2.0/bin/cpp export CXX=/opt/gcc-5.2.0/bin/c++ export LD_LIBRARY_PATH=/opt/gcc-5.2.0/lib64/:$LD_LIBRARY_PATH
参考