今天在64位CentOS上安装了三款32位应用程序都提示找不到动态链接库,一看这些软件都是i686,在网上找了一些方法安装了N个lib,比如glibc.i686,glib-devel.i686等都没能完全解决。
后来在一网站找到解决办法,内容如下:
if you have a missing library - for example:
Code:
libstdc++.so.5
do;
Code:
>yum whatprovides libstdc++.so.5compat-libstdc++-33.i386 3.2.3-61 fedora
then you can do;
Code:
yum install compat-libstdc++-33.i386
and your missing library will be installed.
当安装这些缺失的库文件的时候,有可能会出现冲突的问题,会报类似以下的错误:
Error: Protected multilib versions: zlib-1.2.3-29.el6.i686 != zlib-1.2.3-27.el6.x86_64
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest
解决办法:在执行命令后面加上:--setopt=protected_multilib=false
再次执行:yum install zlib-1.2.3-29.el6.i686 --setopt=protected_multilib=false ,这样就避免冲突了!
有了这个办法,在64位机器想装任何32位应用都没有问题啦!