今天给开发服务器装node环境的时候一切顺利
包括中途升级GCC 至 4.8.2以上版本 linux 如何升级gcc
在最后查看node版本的时候 却报了错
node /usr/lib64/libstdc++.so.6: version `GLIBCXX_..*' not found
后来查询得知 其实是因为 gcc的软链没有生成 导致还找的是升级前的版本
所以问题找到了 自然就好解决了
首先
strings /usr/lib64/libstdc++.so.6 | grep GLIBC
查看动态库中是否有报错中的 GLIBCXX版本 发现没有 这就是报错的原因
然后我们继续
find / -name "libstdc++.so*"
来查找最新的库
/etc/node-v6.11.2/gcc-4.8.2/gcc-build-4.8.2/x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so
/etc/node-v6.11.2/gcc-4.8.2/gcc-build-4.8.2/x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6
/etc/node-v6.11.2/gcc-4.8.2/gcc-build-4.8.2/x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6.0.18
/etc/node-v6.11.2/gcc-4.8.2/gcc-build-4.8.2/prev-x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so
/etc/node-v6.11.2/gcc-4.8.2/gcc-build-4.8.2/prev-x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6
/etc/node-v6.11.2/gcc-4.8.2/gcc-build-4.8.2/prev-x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6.0.18
/etc/node-v6.11.2/gcc-4.8.2/gcc-build-4.8.2/stage1-x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so
/etc/node-v6.11.2/gcc-4.8.2/gcc-build-4.8.2/stage1-x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6
/etc/node-v6.11.2/gcc-4.8.2/gcc-build-4.8.2/stage1-x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6.0.18
发现最新的版本路径 接下来就是拷贝
cp /etc/node-v6.11.2/gcc-4.8.2/gcc-build-4.8.2/stage1-x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6.0.18 /usr/lib6
拷贝过去 我们需要删除原来的老的,并指向新的
先进入目录
cd /usr/lib64
然后删除
rm -rf libstdc++.so.6
然后指向新的
ln -s libstdc++.so.6.0.18 libstdc++.so.6
最后查看是否完成
strings /usr/lib64/libstdc++.so.6 | grep GLIBC
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBCXX_3.4.14
GLIBCXX_3.4.15
GLIBCXX_3.4.16
GLIBCXX_3.4.17
GLIBCXX_3.4.18
GLIBCXX_3.4.19
GLIBC_2.3
GLIBC_2.2.5
GLIBC_2.3.2
可以看到 已经包含了最新的了 说明成功了
最后在node -v 发现也都正常了
如果有帮助 顺手点个赞