RPM Package Installation process dependency problem "libc.so.6 is needed by XXX" solution
Toss for a few days and finally fix the Canon LBP2900 printer driver on CentOS. Encountered in the middle of some problems, mainly the installation of RPM package dependency problem, the effort is finally solved. Now briefly summarize.
First of all, I use the CentOS version is 6.6 , 64 bits. The printer driver is a two RPM installation package: cndrvcups-common-2.60-1.x86_64.rpm and cndrvcups-capt-2.60-1.x86_64.rpm .
Execution rpm -ivh cndrvcups-common-2.60-1.x86_64.rpm of the installation command, a dependency error, error code is as follows:
[Email protected] rpm]#Rpm-ivhCndrvcups-common-2.60-1. x86_64. rpmErrorFailedDependencieslibc. So.6IsNeededByCndrvcups-common-2.60-1. x86_64libc. So.6 (glibc_2.0)IsNeededByCndrvcups-common-2.60-1. x86_64libc. So.6 (glibc_2.1)IsNeededByCndrvcups-common-2.60-1. x86_64libc. So.6 (glibc_2.1.3)IsNeededByCndrvcups-common-2.60-1. x86_64libc. So.6 (glibc_2.3)IsNeededByCndrvcups-common-2.60-1. x86_64Libdl. So.2IsNeededByCndrvcups-common-2.60-1. x86_64Libdl. So.2 (glibc_2.0)IsNeededByCndrvcups-common-2.60-1. x86_64Libdl. So.2 (glibc_2.1)IsNeededByCndrvcups-common-2.60-1. x86_64Libm. So.6IsNeededByCndrvcups-common-2.60-1. x86_64Libm. So.6 (glibc_2.0)IsNeededByCndrvcups-common-2.60-1. x86_64Libpthread. So.0IsNeededByCndrvcups-common-2.60-1. x86_64Libpthread. So.0 (glibc_2.0)IsNeededByCndrvcups-common-2.60-1. x86_64Libpthread. So.0 (glibc_2.1)IsNeededByCndrvcups-common-2.60-1. x86_64Libpthread. So.0 (glibc_2.3.2)IsNeededByCndrvcups-common-2.60-1. x86_64Librt. So.1IsNeededByCndrvcups-common-2.60-1.x86_64 libstdc++ .so.6 is Span class= "Hljs-selector-tag" >needed by Cndrvcups-common-2.60-1.x86_64 libstdc++.so.6 (cxxabi_1.3) is needed by Cndrvcups-common-2.60-1.x86_64
A search is done online, and the workaround is to install the missing dependent libraries. But the search found that some of the libraries on this machine are already installed. For example libc.so.6 , the library corresponds to a package name of glibc .
[Email protected] rpm]#YumListglibc* Loaded plugins:Fastestmirror,Refresh-packagekit,SecurityLoadingMirrorSpeedsFromCachedHostfile *BaseMirrors. CUG. edu. CN *ExtrasMirrors. CUG. edu. CN *UpdatesMirrors. skyshe. CN Installed Packagesglibc. x86_64 2.12-1.149. el6 @anaconda-centos-201410241409.x86_64/6.6 glibc-common.x86_642.12-1.149.el6 @anaconda-centos-201410241409.x86_64/6.6 glibc-devel.x86_64 2.12-1.149. El6 @anaconda-centos-201410241409.x86_64/6.6 glibc-headers.x86_64 2.12-1.149.el6 @anaconda-centos-201410241409.x86_64/6.6 installable packages glibc.i686 2.12-1.149.el6 base glibc-devel.i686 2.12-1.149.el6 base glibc-static.i686 2.12-1.149.el6 base glibc-static.x86_64 2.12-1.149.el6 base glibc-utils.x86_64 2.12-1.149.el6 base
So the question is, since it's already installed libc.so.6 , why are you missing the library? Continue to find Ah, Baidu search basically no fruit, can only send hope in Google. Finally, the science of Internet access, Google can go on, continue to search, focusing on English results. Finally, Stack Overflow find a similar question and answer, click here to see the original. Here are just a few key words to be extracted:
In Red Hat Enterprise Linux 5, if a package is available for both the main and the compatibility architectures, both arch Itectures of the were installed by default.
In Red Hat Enterprise Linux 6, only the primary architecture are installed by default.
To avoid problems during the Backup-archive client and API installation on a 64-bit machine, being sure to install libstdc++ and compat-libstdc++.
The main idea is that, from the Red Hat Enterprise Linux 6 beginning, the default is to install only the packages required by the master schema, not the compatible schema packages, that is, 64-bit systems will install only 64-bit packages by default. To avoid this problem, in a 64-bit system, install both 64-bit packages and 32-bit compatibility packs. CentOSand from Red Hat Enterprise Linux 6 the relationship will not need me to say, so I feel this answer is more reliable, quickly try it.
[Email protected] rpm]#YumInstallglibc. i686 Loaded Plugins:Fastestmirror,Refresh-packagekit,Security Settings installation process ... has been installed:glibc. i686 0: 2.12-1.149.el6 is installed as a dependency:Nss-softokn-freebl. i686 0: 3.14.3-18.el6_6 as dependency is upgraded:Nss-softokn-freebl. x86_64 0: 3.14.3-18.el6_6 finished![Email protected] rpm]#Rpm-ivhCndrvcups-common-2.60-1. x86_64. rpmErrorFaileddependencies: libstdc++ .so.6 is Span class= "Hljs-selector-tag" >needed by Cndrvcups-common-2.60-1.x86_64 libstdc++.so.6 (cxxabi_1.3) is needed by Cndrvcups-common-2.60-1.x86_64
The result was satisfactory, and sure enough no longer prompted libc.so.6 . Continue to solve libstdc++.so.6 !
[[email protected] RPM]# Yum list libstdc++* loaded plugins: Fastestmirror, Refresh-packagekit, securityloading mirror speeds from cached Hostfile * Base: ftp.sjtu.edu.cn * extras:mirrors.163.com * updates:ftp.sjtu.edu.cn Installed packages libstdc++.x86_644.4.7-11.el6 @anaconda-centos-201410241409.x86_64/6.6 Installable Packages libstdc++.i6864.4.7-11.el6 Base libstdc++-devel.i6864.4.7-11.el6 Base libstdc++-devel.x86_644.4.7-11.el6 Base libstdc++-docs.x86_644.4.7-11.EL6 base [[email protected] RPM]# yum Install libstdc++.i686 loaded plugins: Fastestmirror, Refresh-packagekit, security settings installation process ... Installed: libstdc++.i6860:4.4.7-11.el6 as dependency is installed: libgcc.i6860:4.4.7 -11.el6 finished! [[email protected] RPM] # rpm-ivh cndrvcups-common-2.60-1.x86_64.rpm Preparing ... #################################### ####### [100%] 1:cndrvcups-common #################################### ####### [100%]
At this point, finally solved the dependency problem, cndrvcups-common-2.60-1.x86_64.rpm finally installed successfully. In the same way, the cndrvcups-capt-2.60-1.x86_64.rpm installation was successful.
Summary: when installing the RPM package, if a similar libc.so.6 is needed by XXX dependency problem occurs, first check whether the machine installed the corresponding dependent library, if the machine does already have the required dependent library and the problem is still, then try to install the corresponding compatibility package, the problem should be able to solve!
RPM Package Installation process dependency problem "libc.so.6 is needed by XXX" solution