CentOS下编译安装Node.js 5.1.0

来源:互联网 发布:excel批量替换不同数据 编辑:程序博客网 时间:2024/05/21 20:24

上一篇文章中讲了prerequisites,CentOS自带的gcc版本太低了,需要升级到4.7以上版本才能编译node,否则make时候会出错
http://blog.csdn.net/Emptyset110/article/details/50128115

Step 1. 去这里下载源码,解压

https://nodejs.org/en/download/

# wget https://nodejs.org/dist/v5.1.0/node-v5.1.0.tar.gz# tar xzvf node-v5.1.0.tar.gz# cd node-v5.1.0

Step 2. 编译,安装

./configuremake -j4make install

看上去一切都很顺利

Step 3. /usr/lib64/libstdc++.so.6: version "GLIBCXX_3.4.20" not found

在运行node -v时候出现了标题所示的错误

运行命令检查动态库

# strings /usr/lib64/libstdc++.so.6 | grep GLIBC

发现其中并没有包含3.4.13以上的版本。而我们用gcc4.9.0编译的node是需要3.4.15和3.4.20的。

搜索安装gcc 4.9.0时候的libstdc++.so.6

# find / -name "libstdc++.so.*"/home/Wen/gcc-4.9.0/stage1-x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6.0.20/home/Wen/gcc-4.9.0/stage1-x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6/home/Wen/gcc-4.9.0/x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6.0.20/home/Wen/gcc-4.9.0/x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6/home/Wen/gcc-4.9.0/prev-x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6.0.20/home/Wen/gcc-4.9.0/prev-x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6

我检查了其中一个动态库

strings /home/Wen/gcc-4.9.0/x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6 | grep GLIBCGLIBCXX_3.4GLIBCXX_3.4.1GLIBCXX_3.4.2GLIBCXX_3.4.3GLIBCXX_3.4.4GLIBCXX_3.4.5GLIBCXX_3.4.6GLIBCXX_3.4.7GLIBCXX_3.4.8GLIBCXX_3.4.9GLIBCXX_3.4.10GLIBCXX_3.4.11GLIBCXX_3.4.12GLIBCXX_3.4.13GLIBCXX_3.4.14GLIBCXX_3.4.15GLIBCXX_3.4.16GLIBCXX_3.4.17GLIBCXX_3.4.18GLIBCXX_3.4.19GLIBCXX_3.4.20GLIBC_2.3GLIBC_2.2.5GLIBC_2.3.2GLIBCXX_FORCE_NEWGLIBCXX_DEBUG_MESSAGE_LENGTH

发现它包含我要的GLIBCXX_3.4.20GLIBCXX_3.4.14

# cp /home/Wen/gcc-4.9.0/x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6 /usr/lib64/

于是我把这个文件复制到/usr/lib64下覆盖掉原来的文件即可。

检查node版本

[root@DataWorks node-v5.1.0]# node --versionv5.1.0
0 0
原创粉丝点击