Yum unable to resolve dependency of a existing file in the $PATH - linux

I am trying to install a rpm and it is failing due to a unresolved dependance. The file libc.so.6 is the the path of $PATH, so don't know what it is complaining about.
# yum install libdb-5.3.21-3.fc18.x86_64.rpm Loaded plugins: rhnplugin, security
This system is not registered with ULN.
ULN support will be disabled.
Setting up Install Process
Examining libdb-5.3.21-3.fc18.x86_64.rpm: libdb-5.3.21-3.fc18.x86_64
Marking libdb-5.3.21-3.fc18.x86_64.rpm to be installed
Resolving Dependencies
--> Running transaction check
---> Package libdb.x86_64 0:5.3.21-3.fc18 set to be updated
--> Processing Dependency: libc.so.6(GLIBC_2.14)(64bit) for package: libdb
--> Processing Dependency: libc.so.6(GLIBC_2.15)(64bit) for package: libdb
--> Processing Conflict: libdb conflicts filesystem < 3
--> Finished Dependency Resolution
libdb-5.3.21-3.fc18.x86_64 from /libdb-5.3.21-3.fc18.x86_64 has depsolving problems
--> libdb conflicts with filesystem
libdb-5.3.21-3.fc18.x86_64 from /libdb-5.3.21-3.fc18.x86_64 has depsolving problems
--> Missing Dependency: libc.so.6(GLIBC_2.14)(64bit) is needed by package libdb-5.3.21-3.fc18.x86_64 (/libdb-5.3.21-3.fc18.x86_64)
libdb-5.3.21-3.fc18.x86_64 from /libdb-5.3.21-3.fc18.x86_64 has depsolving problems
--> Missing Dependency: libc.so.6(GLIBC_2.15)(64bit) is needed by package libdb-5.3.21-3.fc18.x86_64 (/libdb-5.3.21-3.fc18.x86_64)
Error: libdb conflicts with filesystem
Error: Missing Dependency: libc.so.6(GLIBC_2.14)(64bit) is needed by package libdb-
5.3.21-3.fc18.x86_64 (/libdb-5.3.21-3.fc18.x86_64)
Error: Missing Dependency: libc.so.6(GLIBC_2.15)(64bit) is needed by package libdb-5.3.21-3.fc18.x86_64 (/libdb-5.3.21-3.fc18.x86_64)
You could try using --skip-broken to work around the problem
You could try running: package-cleanup --problems
package-cleanup --dupes
rpm -Va --nofiles --nodigest
The program package-cleanup is found in the yum-utils package.
[root#db1 php]# locate libc.so.6
/lib/libc.so.6
/lib/i686/nosegneg/libc.so.6
/lib64/libc.so.6
/u01/oracle/112/lib/stubs/libc.so.6
echo $PATH
/lib64:/usr/lib64/qt-3.3/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin: /usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/lib64/:/usr/lib:/u01/oracle/112/lib:/usr/lib/:/usr/lib64/:/usr/local/apr/lib:/usr/lib/:/usr/lib:/usr/lib64:/usr/local/apr/lib:/usr/local/src:/usr/lib

Is it a CentOS system you're installing this Fedora RPM on? Fedora RPMs are built against newer versions of middleware and libraries than CentOS in most cases.
On a CentOS 6 machine of mine:
$ rpm -qp --conflicts /tmp/libdb-5.3.21-3.fc18.x86_64.rpm
filesystem < 3
$ rpm -qa | grep filesystem
filesystem-2.4.30-3.el6.x86_64
I found the spec file and there is an explicit conflict for the package filesystem on versions less than 3.0.
Also, that RPM has a requirement of GLIBC higher than what you are probably running.
$ rpm -qa | grep glibc
glibc-2.12-1.80.el6_3.6.x86_64

RPM, which yum uses, doesn't look at the filesystem. It looks at the rpmdb. The same rpmdb that doesn't contain that dependency.

Related

Facing library dependencies while installing krb5-server on RHEL 6.9

I am facing issues in " yum install krb5-server" on RHEL 6.9 .This I am doing to install Kerberos on MapR 5.2 cluster. Issue mentioned below:
[root#master ~]# yum install krb5-server
Loaded plugins: product-id, refresh-packagekit, search-disabled-repos, security, subscription-manager
This system is not registered with an entitlement server. You can use subscription-manager to register.
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package krb5-server.x86_64 0:1.10.3-57.el6 will be installed
--> Processing Dependency: krb5-libs = 1.10.3-57.el6 for package: krb5-server-1.10.3-57.el6.x86_64
--> Running transaction check
---> Package krb5-libs.i686 0:1.10.3-57.el6 will be installed
--> Processing Dependency: libselinux.so.1 for package: krb5-libs-1.10.3-57.el6.i686
--> Processing Dependency: libresolv.so.2(GLIBC_2.2) for package: krb5-libs-1.10.3-57.el6.i686
--> Processing Dependency: libresolv.so.2 for package: krb5-libs-1.10.3-57.el6.i686
--> Processing Dependency: libm.so.6 for package: krb5-libs-1.10.3-57.el6.i686
--> Processing Dependency: libkeyutils.so.1(KEYUTILS_0.3) for package: krb5-libs-1.10.3-57.el6.i686
--> Processing Dependency: libkeyutils.so.1 for package: krb5-libs-1.10.3-57.el6.i686
--> Processing Dependency: libdl.so.2(GLIBC_2.1) for package: krb5-libs-1.10.3-57.el6.i686
--> Processing Dependency: libdl.so.2(GLIBC_2.0) for package: krb5-libs-1.10.3-57.el6.i686
--> Processing Dependency: libdl.so.2 for package: krb5-libs-1.10.3-57.el6.i686
--> Processing Dependency: libcom_err.so.2 for package: krb5-libs-1.10.3-57.el6.i686
--> Processing Dependency: libc.so.6(GLIBC_2.9) for package: krb5-libs-1.10.3-57.el6.i686
--> Running transaction check
---> Package glibc.i686 0:2.12-1.192.el6 will be installed
--> Processing Dependency: libfreebl3.so(NSSRAWHASH_3.12.3) for package: glibc-2.12-1.192.el6.i686
--> Processing Dependency: libfreebl3.so for package: glibc-2.12-1.192.el6.i686
---> Package keyutils-libs.i686 0:1.4-5.el6 will be installed
---> Package libcom_err.i686 0:1.41.12-22.el6 will be installed
---> Package libselinux.i686 0:2.0.94-7.el6 will be installed
--> Running transaction check
---> Package nss-softokn-freebl.i686 0:3.14.3-23.3.el6_8 will be installed
--> Finished Dependency Resolution
Error: Multilib version problems found. This often means that the root
cause is something else and multilib version checking is just
pointing out that there is a problem. Eg.:
1. You have an upgrade for krb5-libs which is missing some
dependency that another package requires. Yum is trying to
solve this by installing an older version of krb5-libs of the
different architecture. If you exclude the bad architecture
yum will tell you what the root cause is (which package
requires what). You can try redoing the upgrade with
--exclude krb5-libs.otherarch ... this should give you an error
message showing the root cause of the problem.
2. You have multiple architectures of krb5-libs installed, but
yum can only see an upgrade for one of those arcitectures.
If you don't want/need both architectures anymore then you
can remove the one with the missing update and everything
will work.
3. You have duplicate versions of krb5-libs installed already.
You can use "yum check" to get yum show these errors.
...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: krb5-libs-1.10.3-57.el6.i686 != krb5-libs-1.10.3-65.el6.x86_64
Error: Protected multilib versions: libcom_err-1.41.12-22.el6.i686 != libcom_err-1.41.12-23.el6.x86_64
[root#master ~]#
Yum errors like this happen if the system is installed from newer installation media and then subscribed to software channels which only provide older package versions. I usually see it when people install the betas and then do not enable the beta channels after installation (which is a manual step).
The hint is in this line:
Protected multilib versions: krb5-libs-1.10.3-57.el6.i686 != krb5-libs-1.10.3-65.el6.x86_64
Error: Protected multilib versions: libcom_err-1.41.12-22.el6.i686 != libcom_err-1.41.12-23.el6.x86_64
Yum tries to install version 1.10.3-57.el6, while 1.10.3-65 is already installed. (You can ignore the i686/x86_64 difference, yum goes really wrong while trying to figure out what to install here.)
Red Hat Enterprise Linux 6.9 has been released, so it is not the usual beta problem. You need to check the channel subscriptions with yum repolist -v and then use subscription-manager repos --disable=… --enable=… to fix the channel configuration.
If you use Satellite, the policy applied to your system might feed it the wrong version of the operating system. In this case, you may have to make the changes in the Satellite infrastructure.
If, for some reason, you need an EUS version of Red Hat Enterprise Linux (older than 6.9), you should just set up a new system with that. Downgrades can be rather difficult.
How about removing yum cache, and then the retry it.
# yum clean all
or
# rm -rf /var/cache/yum
# yum update
# yum install krb5-server

Clusterlabs pacemaker will not install on centos5

I'm trying to install pacemaker on my centos 5.11 test server. I'm setting up a 2 node cluster for postgres. Pacemaker install failed due to dependency of package resource-agents. I cannot find the rpm in any of the centos repo at clusterlabs. I found the source rpm and compiled and installed succesfully. Pacemaker still fails to find resource-agents.
--> Finished Dependency Resolution
pacemaker-1.1.8-2.el5.i686 from clusterlabs-next has depsolving problems
--> Missing Dependency: resource-agents is needed by package pacemaker-1.1.8-2.el5.i686 (clusterlabs-next)
pacemaker-1.1.8-2.el5.x86_64 from clusterlabs-next has depsolving problems
--> Missing Dependency: resource-agents is needed by package pacemaker-1.1.8-2.el5.x86_64 (clusterlabs-next)
Error: Missing Dependency: resource-agents is needed by package pacemaker-1.1.8-2.el5.x86_64 (clusterlabs-next)
Error: Missing Dependency: resource-agents is needed by package pacemaker-1.1.8-2.el5.i686 (clusterlabs-next)
You could try using --skip-broken to work around the problem
You could try running: package-cleanup --problems
package-cleanup --dupes
rpm -Va --nofiles --nodigest
I'm not sure where resource-agents is supposed to be installed. I copied the source to a temp dir and extracted and compiled there. Is it possible resource-agents is not installed in the correct location?
wget http://dl.fedoraproject.org/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm
rpm -Uvh epel-release-5*.rpm
wget -O /etc/yum.repos.d/pacemaker.repo http://clusterlabs.org/rpm/epel-5/clusterlabs.repo
then finally,
yum install -y pacemaker.$(uname -i) corosync.$(uname -i)

Yum does not resolve dependencies after a rpm -ivh installation

I use AWS EC2 instances.
I wanted to setup a package versioned at 5.4.0 but the latest that yum search all --enablerepo epel offered was 5.0.0.
I hence did wget and configure && make && make install on v5.4.0 which was available on the web.
Since we do a lot of instance ups and downs, this solution was too time consuming (the compile time) to become a viable solution on deployment.
I then built an RPM from the tar.bz2 versioned at 5.4.0. To ensure libraries and dependencies are no different between the environments, I ran rpmbuild on the same instance as our deployment AMI.
After having had built and deployed the RPM on a test server, I tried installing gearmand to the following result-
[ec2-user#ip-10-0-0-62 ~]$ sudo yum install --enablerepo=epel gearmand
Loaded plugins: priorities, update-motd, upgrade-helper
565 packages excluded due to repository priority protections
Resolving Dependencies
--> Running transaction check
---> Package gearmand.x86_64 0:1.1.8-2.el6 will be installed
--> Processing Dependency: libmysqlclient.so.16(libmysqlclient_16)(64bit) for package: gearmand-1.1.8-2.el6.x86_64
--> Processing Dependency: libpq.so.5()(64bit) for package: gearmand-1.1.8-2.el6.x86_64
--> Processing Dependency: libmysqlclient.so.16()(64bit) for package: gearmand-1.1.8-2.el6.x86_64
--> Processing Dependency: libgearman.so.8()(64bit) for package: gearmand-1.1.8-2.el6.x86_64
--> Processing Dependency: libevent-1.4.so.2()(64bit) for package: gearmand-1.1.8-2.el6.x86_64
--> Processing Dependency: libboost_system.so.5()(64bit) for package: gearmand-1.1.8-2.el6.x86_64
--> Processing Dependency: libboost_program_options-mt.so.5()(64bit) for package: gearmand-1.1.8-2.el6.x86_64
--> Running transaction check
---> Package compat-boost-program-options.x86_64 0:1.41.0-11.10.amzn1 will be installed
---> Package compat-boost-system.x86_64 0:1.41.0-11.10.amzn1 will be installed
---> Package compat-libevent.x86_64 0:1.4.13-4.10.amzn1 will be installed
---> Package gearmand.x86_64 0:1.1.8-2.el6 will be installed
--> Processing Dependency: libmysqlclient.so.16(libmysqlclient_16)(64bit) for package: gearmand-1.1.8-2.el6.x86_64
--> Processing Dependency: libmysqlclient.so.16()(64bit) for package: gearmand-1.1.8-2.el6.x86_64
---> Package libgearman.x86_64 0:1.1.8-2.el6 will be installed
---> Package postgresql9-libs.x86_64 0:9.2.5-1.37.amzn1 will be installed
--> Finished Dependency Resolution
Error: Package: gearmand-1.1.8-2.el6.x86_64 (epel)
Requires: libmysqlclient.so.16(libmysqlclient_16)(64bit)
Error: Package: gearmand-1.1.8-2.el6.x86_64 (epel)
Requires: libmysqlclient.so.16()(64bit)
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest
This makes me suspect that the RPM installation is in some sense 'freezing and blocking' the libraries it depends upon. I feel this way, because while building the RPM, the package expected higher library versions than those available on amazon or epel repos. Some examples-
+-------------+-------------------+----------------+
| name | amazon version | library wants |
+-------------+-------------------+----------------+
| glibc | 2.12 | 2.16 |
| perl | 5.10 | 5.18 |
| python | 2.6.9 | 2.7 |
+-------------+-------------------+----------------+
Am I doing something wrong here, do I need to change something in the source/spec before building the RPM? Because this looks like just the tip of the iceberg.
Change rpm-spec file where you can edit the required dependencies version

CentOS 64bit RPM with 32bit dependencies

I have a helper rpm package which is used to install the necessary dependencies in order for some software to work; the problem is that the dependency packages required are the 32bit ones, which can't be installed on CentOS 64bit without the --setopt=protected_multilib=false flag.
To manually install the dependencies I'd just run:
# yum install --setopt=protected_multilib=false libXrandr.i686
# yum install --setopt=protected_multilib=false gtk2.i686
# yum install --setopt=protected_multilib=false libXtst.i686
This would correctly install the 32bit version of the packages.
The problem appears when installing the helper package directly, as it seems there's no way to force --setopt=protected_multilib=false for the dependencies.
When trying to install the package (locally, using yum --nogpgcheck --setopt=protected_multilib=false localinstall centos_helper-0-0.x86_64.rpm) I get the following error:
Examining centos_helper-0-0.x86_64.rpm: centos_helper-0-0.x86_64
Marking centos_helper-0-0.x86_64.rpm to be installed
Loading mirror speeds from cached hostfile
* base: mirror.dattobackup.com
* extras: mirror.metrocast.net
* rpmforge: mirror.de.leaseweb.net
* updates: mirror.dattobackup.com
Resolving Dependencies
--> Running transaction check
---> Package centos_helper.x86_64 0:0-0 will be installed
--> Processing Dependency: libXrandr.i686 for package: centos_helper-0-0.x86_64
--> Processing Dependency: gtk2.i686 for package: centos_helper-0-0.x86_64
--> Processing Dependency: libXtst.i686 for package: centos_helper-0-0.x86_64
--> Finished Dependency Resolution
Error: Package: centos_helper-0-0.x86_64 (/centos_helper-0-0.x86_64)
Requires: gtk2.i686
Error: Package: centos_helper-0-0.x86_64 (/centos_helper-0-0.x86_64)
Requires: libXrandr.i686
Error: Package: centos_helper-0-0.x86_64 (/centos_helper-0-0.x86_64)
Requires: libXtst.i686
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest
This is the same error I get when trying to install the dependencies by hand without the protected_multilib=false flag.
The .spec file I'm using to create the package has the following content:
Summary: CentOS helper file
Name: centos_helper
Version: 0
Release: 0
License: Public
Group: Applications/System
Requires: libXrandr.i686,gtk2.i686,libXtst.i686
%description
Installer CentOS helper package
%files
Any way to have the dependencies correctly install?
You might want to look at http://www.rpm.org/wiki/PackagerDocs/ArchDependencies
I prefer referencing sonames myself, that way yum will look up what dependancy to install.
I've had major CentOS upgrades failing because if this.
This if for recent RPM versions only : 4.6 or so. If you're on something older :
Requires: real-soname.so.1()(64bit), real-soname.so.1, packagename
From memory, you might need a tweak.

I am not able to install google chrome in my oracle enterprise linux

I have created a google.repo file and stored the file in yum.repos.d, the contents of google.repo are :
[google-chrome]
name=google-chrome – 64-bit
baseurl=http://dl.google.com/linux/chrome/rpm/stable/x86_64
enabled=1
gpgcheck=1
gpgkey=https://dl-ssl.google.com/linux/linux_signing_key.pub
I executed the below command in shell as a root user :
Executed :
yum install google-chrome-stable
Output :
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package google-chrome-stable.x86_64 0:23.0.1271.64-165188 set to be updated
--> Processing Dependency: lsb >= 4.0 for package: google-chrome-stable
--> Processing Dependency: libc.so.6(GLIBC_2.11)(64bit) for package: google-chrome-stable
--> Processing Dependency: libcurl.so.4()(64bit) for package: google-chrome-stable
--> Finished Dependency Resolution
google-chrome-stable-23.0.1271.64-165188.x86_64 from google-chrome has depsolving problems
--> Missing Dependency: libcurl.so.4()(64bit) is needed by package google-chrome-stable-23.0.1271.64-165188.x86_64 (google-chrome)
google-chrome-stable-23.0.1271.64-165188.x86_64 from google-chrome has depsolving problems
--> Missing Dependency: lsb >= 4.0 is needed by package google-chrome-stable-23.0.1271.64-165188.x86_64 (google-chrome)
google-chrome-stable-23.0.1271.64-165188.x86_64 from google-chrome has depsolving problems
--> Missing Dependency: libc.so.6(GLIBC_2.11)(64bit) is needed by package google-chrome-stable-23.0.1271.64-165188.x86_64 (google-chrome)
Error: Missing Dependency: libc.so.6(GLIBC_2.11)(64bit) is needed by package google-chrome-stable-23.0.1271.64-165188.x86_64 (google-chrome)
Error: Missing Dependency: libcurl.so.4()(64bit) is needed by package google-chrome-stable-23.0.1271.64-165188.x86_64 (google-chrome)
Error: Missing Dependency: lsb >= 4.0 is needed by package google-chrome-stable-23.0.1271.64-165188.x86_64 (google-chrome)
You could try using --skip-broken to work around the problem
You could try running: package-cleanup --problems
package-cleanup --dupes
rpm -Va --nofiles --nodigest
The program package-cleanup is found in the yum-utils package.
I can't find lsb package also, I found that the below packages are installed :
redhat-lsb.x86_64
redhat-lsb.i386
Please help me to install google chrome in oracle enterprise linux 5...
alright, it seems that OL 5 has older version of GLIBC and chrome will not work with that.
https://superuser.com/questions/393158/how-to-install-a-chrome-on-my-rhel-5-3-box
If you don't mind installing an earlier version of Google Chrome which does not requires latest libstdc++.so, read the following:
For example, for Oracle Linux 6.6 (64bit), google chrome version 35 or higher requires libstdc++.so.6(GLIBCXX_3.4.15). Go to http://orion.lcg.ufrj.br/RPMS/myrpms/google/ and download google-chrome-stable-27.0.1453.110-202711.x86_64.rpm. Run the following command
sudo yum install /path-to/google-chrome-stable-27.0.1453.110-202711.x86_64.rpm
FYI - To check what versions of libstdc++ your system has, do the following
strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX

Resources