Trying to install collectd, but for some reason it claims python isn't installed:

yum install collectd
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package collectd.i386 0:4.10.0-4.el5 set to be updated
--> Processing Dependency: libxml2.so.2 for package: collectd
--> Processing Dependency: libcurl.so.3 for package: collectd
--> Processing Dependency: libpython2.4.so.1.0 for package: collectd
--> Processing Dependency: libidn.so.11 for package: collectd
---> Package collectd.x86_64 0:4.10.0-4.el5 set to be updated
--> Running transaction check
---> Package collectd.i386 0:4.10.0-4.el5 set to be updated
--> Processing Dependency: libpython2.4.so.1.0 for package: collectd
---> Package curl.i386 0:7.15.5-9.el5 set to be updated
---> Package libidn.i386 0:0.6.5-1.1 set to be updated
---> Package libxml2.i386 0:2.6.26-2.1.2.8 set to be updated
--> Finished Dependency Resolution
collectd-4.10.0-4.el5.i386 from epel has depsolving problems
  --> Missing Dependency: libpython2.4.so.1.0 is needed by package collectd-4.10.0-4.el5.i386 (epel)
Error: Missing Dependency: libpython2.4.so.1.0 is needed by package collectd-4.10.0-4.el5.i386 (epel)
 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
[root@vitlinpup001 templates]# find / -iname "libpython2.4.so.1.0" -type f
/usr/lib64/libpython2.4.so.1.0
[root@vitlinpup001 templates]# file /usr/lib64/libpython2.4.so.1.0
/usr/lib64/libpython2.4.so.1.0: ELF 64-bit LSB shared object, AMD x86-64, version 1 (SYSV), stripped
[root@vitlinpup001 templates]# ls -lah /usr/lib64/libpython2.4.so.1.0
-r-xr-xr-x 1 root root 1.2M Sep  3  2009 /usr/lib64/libpython2.4.so.1.0
[root@vitlinpup001 templates]# yum info python | grep installed
Repo       : installed

I've tried to run package-cleanup --problems, package-cleanup --dupes and rpm -Va --nofiles --nodigest.

This is a first timer for me regarding missing dependency, so I'm a little lost on how to proceed.

link|improve this question

71% accept rate
feedback

4 Answers

up vote 8 down vote accepted

You're misreading the output. It's saying that the 32-bit library for Python is missing, which is correct. Try installing collectd.x86_64 instead.

link|improve this answer
Huh, I asssumed that yum would resolve that issue. But silly of me to not study the output properly. Thanks – tore- Jul 14 '10 at 10:47
feedback

This seems to be a problem with collectd on EPEL. The x86_64 repository seems to have both 64 bit and 32bit packages. Which is clearly broken.

Adding exclude=collectd.i386 to /etc/yum.conf as mentioned by kisoku is probably the best solution until EPEL is fixed, if you want yum install collectd to "just work"

link|improve this answer
feedback

another work around for this is to add the following line in /etc/yum.conf

exclude=collectd.i386

link|improve this answer
feedback

You can tell Yum to prefer packages that match the machine architecture if more than one is available. Set the following in yum.conf:

multilib_policy=best

This replaces the previous yum-basearchonly plugin as core functionality. It is the default behaviour in Fedora 9 and RHEL 6 onwards.

link|improve this answer
feedback

Your Answer

 
or
required, but never shown

Not the answer you're looking for? Browse other questions tagged or ask your own question.