用户环境Redhat 6.7 x64
安装报错
[root@localhost HDLM_Linux]# ./installhdlm
KAPL09210-I installhdlm will now start.
KAPL09093-I HDLM 8.5.0-00 will be installed. Is this OK ? [y/n]: y
KAPL09098-E An attempt to install /mnt/HDLM/HDLM_Linux/rpm/HDLM-8.5.0.0.808-7.x86_64.rpm has failed. Code = 1
KAPL09212-E installhdlm ended abnormally.
直接安装提示报错
[root@localhost rpm]# rpm -ivh HDLM-8.5.0.0.808-7.x86_64.rpm
error: Failed dependencies:
libstdc++.so.6 is needed by HDLM-8.5.0.0.808-7.x86_64
libstdc++.so.6(CXXABI_1.3) is needed by HDLM-8.5.0.0.808-7.x86_64
libstdc++.so.6(GLIBCXX_3.4) is needed by HDLM-8.5.0.0.808-7.x86_64
libstdc++.so.6(GLIBCXX_3.4.11) is needed by HDLM-8.5.0.0.808-7.x86_64
libstdc++.so.6(GLIBCXX_3.4.5) is needed by HDLM-8.5.0.0.808-7.x86_64
libstdc++.so.6(GLIBCXX_3.4.9) is needed by HDLM-8.5.0.0.808-7.x86_64
[root@localhost CD]# rpm -q --provides libstdc++ 查看包安装情况 发现已经安装x64位的了
libstdc++ = 4.4.4-15.el6
libstdc++.so.6()(64bit)
libstdc++.so.6(CXXABI_1.3)(64bit)
libstdc++.so.6(CXXABI_1.3.1)(64bit)
libstdc++.so.6(CXXABI_1.3.2)(64bit)
libstdc++.so.6(CXXABI_1.3.3)(64bit)
libstdc++.so.6(GLIBCXX_3.4)(64bit)
libstdc++.so.6(GLIBCXX_3.4.1)(64bit)
libstdc++.so.6(GLIBCXX_3.4.10)(64bit)
libstdc++.so.6(GLIBCXX_3.4.11)(64bit)
libstdc++.so.6(GLIBCXX_3.4.12)(64bit)
libstdc++.so.6(GLIBCXX_3.4.13)(64bit)
libstdc++.so.6(GLIBCXX_3.4.2)(64bit)
libstdc++.so.6(GLIBCXX_3.4.3)(64bit)
libstdc++.so.6(GLIBCXX_3.4.4)(64bit)
libstdc++.so.6(GLIBCXX_3.4.5)(64bit)
libstdc++.so.6(GLIBCXX_3.4.6)(64bit)
libstdc++.so.6(GLIBCXX_3.4.7)(64bit)
libstdc++.so.6(GLIBCXX_3.4.8)(64bit)
libstdc++.so.6(GLIBCXX_3.4.9)(64bit)
libstdc++ = 4.4.7-16.el6
libstdc++(x86-64) = 4.4.7-16.el6
[root@localhost CD]# whereis libstdc++.so.6
libstdc++.so: /usr/lib64/libstdc++.so.6 /usr/lib64/libstdc++.so.5
解决方法
[root@localhost CD]# yum list libstdc++*
已加载插件:product-id, refresh-packagekit, security, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
已安装的软件包
libstdc++.x86_64 4.4.7-16.el6 @anaconda-RedHatEnterpriseLinux-201507020259.x86_64/6.7
libstdc++-devel.x86_64 4.4.7-16.el6 @anaconda-RedHatEnterpriseLinux-201507020259.x86_64/6.7
libstdc++-docs.x86_64 4.4.7-16.el6 @anaconda-RedHatEnterpriseLinux-201507020259.x86_64/6.7
可安装的软件包
libstdc++.i686 4.4.7-16.el6 cdrom
libstdc++-devel.i686
安装32位的
yum install glibc.i686 可选
[root@localhost CD]# yum install libstdc++.i686
已加载插件:product-id, refresh-packagekit, security, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
设置安装进程
大意是说,从Red Hat Enterprise Linux 6开始,默认只安装主架构所需要的包,而不安装兼容架构的包,也就是说,64位系统默认只安装64位的软件包。为避免这种问题,在64位系统中,要同时安装64位的包和32位的兼容包。CentOS和从Red Hat Enterprise Linux 6的关系就不用我说了,因此我感觉这个回答比较靠谱,赶紧试试吧。