centos7. 解决缺少libstdc++.so.6库的原因及解决办法
执行node -v报错如下:
[root@bogon ~]# node -v
node: error while loading shared libraries: libstdc++.so.: cannot open shared object file: No such file or directory
先加载所有安装包
yum repolist
查看哪个安装包包含该库:
yum provides libstdc++.so.
执行结果:
[root@bogon ~]# yum whatprovides libstdc++.so.
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.njupt.edu.cn
* extras: mirrors..com
* updates: mirrors.njupt.edu.cn
libstdc++-4.8.-.el7.i686 : GNU Standard C++ Library
Repo : base
Matched from:
Provides : libstdc++.so.
可以看到安装包 libstdc++-4.8.-.el7.i686
安装libstdc++-4.8.-.el7.i686
yum -y install libstdc++-4.8.-.el7.x86_64
报错:
...you can also use --setopt=protected_multilib=false to remove
this checking, however this is almost never the correct thing to
do as something else is very likely to go wrong (often causing
much more problems).
Protected multilib versions: libstdc++-4.8.-.el7.i686 != libstdc++-4.8.-.el7.x86_64
解决办法:
、升级安装包
yum update libstdc++-4.8.-.el7.x86_64 -y
、修复/lib/ld-linux.so.: bad ELF interpreter: No such file or directory问题
yum install glibc.i686 -y
、 修复error while loading shared libraries: libz.so.: cannot open shared object file: No such file or directory
yum install zlib.i686 -y
、修复error while loading shared libraries: libstdc++.so.: cannot open shared object file: No such file or directory
先查找这个库存在于哪个安装包中
yum whatprovides libstdc++.so.
执行结果:
[root@bogon ~]# yum whatprovides libstdc++.so.
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.njupt.edu.cn
* extras: mirrors..com
* updates: mirrors.njupt.edu.cn
libstdc++-4.8.-.el7.i686 : GNU Standard C++ Library
Repo : base
Matched from:
Provides : libstdc++.so.
可以看到包 libstdc++-4.8.-.el7.i686
安装libstdc++-4.8.-.el7.i686
yum install libstdc++-4.8.-.el7.i686 -y
到此就解决了缺少共享库到问题
参照文档:
https://blog.csdn.net/qiaoliang328/article/details/79266008