CentOS 6.5下的GCC升级过程(升级到4.8.1)
2020-02-29 08:47:34   来源:我爱运维网   评论:0 点击:

最在的Linux服务器上安装nodejs,yum直接安装的node是0.10.48版,版本太低,原来的nodejs应用根本跑不起来。考虑升级nodejs,可惜无论是二...
最在的Linux服务器上安装nodejs,yum直接安装的node是0.10.48版,版本太低,原来的nodejs应用根本跑不起来。考虑升级nodejs,可惜无论是yum,还是二进制版本、或者是下载源码,都无法运行或无法安装,报:“所需要‘GLIBCXX_3.4.15, GLIBCXX_3.4.19’ not found”错误。这就引出GCC版本太低的问题。
---------------
使用yum,可以成功升级node:
yum install -g n
//上述命令全局安装n模块,n模块用于升级node新版本
n stable
//使用n模块即可成功nodejs到stable版本。

node -v
报错!
---------------

当前环境:
1、OS uname -a:centos 2.6.32-220.el6.x86_64 #1 SMP Tue Dec 6 19:48:22 GMT 2011 x86_64 x86_64 x86_64 GNU/Linux
2、gcc --version:gcc (GCC) 4.4.7

升级准备:
下载gcc 4.8.1:wget http://ftp.gnu.org/gnu/gcc/gcc-4.8.1/gcc-4.8.1.tar.gz
解压:tar -xvzf gcc-4.8.1.tar.gz
进入解压目录:cd gcc-4.8.1
编辑准备:./contrib/download_prerequisites

开始安装:
建立build_gcc_4.8.1目录,应和gcc-4.8.1目录平行:
cd ..
mkdir build_gcc_4.8.1
进入新建目录build_gcc_4.8.1,进行编辑安装:
cd build_gcc_4.8.1
../gcc-4.8.1/configure --enable-checking=release --enable-languages=c,c++ --disable-multilib
make
make install

注意:make的时间会经较长,请耐心等待。如果没有swap空间,有可能会报:

make[3]: *** [s-attrtab] Killed

错误,此时的解决方法是增加swap空间。

如果一切顺利,则会成功安装gcc 4.8.1,使用以下命令验证:
gcc --version
g++ --version

均应显示:4.8.1版本。其中库文件位置:
/usr/local/lib/../lib64

至此,成功升级gcc版本到了4.8.1.

--------------------
升级glibc库:
然而,运行node -v 仍然报错,显示:/lib64/libc.so.6: version `GLIBC_2.14' not found,说明glibc库版本不满足。考虑升级glibc库。
http://ftp.gnu.org/gnu/glibc/网站上找到相应的版本,我选择与当前系统相对匹配的:2.18版本。
与升级gcc类似,采用以下步骤来升级glibc库:
下载:nohup wget http://ftp.gnu.org/gnu/glibc/glibc-2.18.tar.gz &
解压:tar zxf glibc-2.18.tar.gz
建编译目录:mkdir build_glibc_2.18
编译安装:
cd build_glibc_2.18/
../glibc-2.18/configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin
make
make install

成功升级glibc,会显示:
Your new glibc installation seems to be ok.
make[1]: Leaving directory `/root/glibc-2.18'

终于:
node -v
正确显示出nodejs的版本:v12.16.1
npm --version,也正确显示6.13.4的版本信息。

历时2天,成功解决了CentOS上升级gcc,glibc,使得高版本nodejs成功运行。
 
 

相关热词搜索:centos gcc 升级

上一篇:成功恢复Linux EXT3文件系统下误删的文件
下一篇:最后一页

分享到: 收藏