1

I've been trying to resolve the following problem with yum / python's urllib2:

[root@...]# yum
Traceback (most recent call last):
  File "/usr/bin/yum", line 4, in ?
    import yum
  File "/usr/lib/python2.4/site-packages/yum/__init__.py", line 51, in ?
    import config
  File "/usr/lib/python2.4/site-packages/yum/config.py", line 27, in ?
    from parser import ConfigPreProcessor
  File "/usr/lib/python2.4/site-packages/yum/parser.py", line 3, in ?
    import urlgrabber
  File "/usr/lib/python2.4/site-packages/urlgrabber/__init__.py", line 53, in ?
    from grabber import urlgrab, urlopen, urlread
  File "/usr/lib/python2.4/site-packages/urlgrabber/grabber.py", line 412, in ?
    import keepalive
  File "/usr/lib/python2.4/site-packages/urlgrabber/keepalive.py", line 339, in ?
    class HTTPSHandler(KeepAliveHandler, urllib2.HTTPSHandler):

AttributeError: 'module' object has no attribute 'HTTPSHandler'

I tried updating python to see if it would fix the library:

rpm -Uvh python-2.4.3-44.el5.x86_64.rpm

But it didn't change anything after a reboot, so I decided to see what's going wrong:

prelink -all
rpm -Va

This results in a LOT of unsatisfied dependencies:

Unsatisfied dependencies for gnome-panel-2.16.1-7.el5.i386: libpangocairo-1.0.so.0
Unsatisfied dependencies for gtkhtml3-3.16.3-1.el5.i386: libpangocairo-1.0.so.0
Unsatisfied dependencies for libgnomeui-2.16.0-5.el5.i386: libpangocairo-1.0.so.0
...
missing     /lib/libz.so.1
missing     /lib/libz.so.1.2.3
missing     /usr/lib/libz.so.1
missing     /usr/lib/libz.so.1.2.3
Unsatisfied dependencies for Nessus-4.4.0-es4.i386: libcrypto.so.4, libssl.so.4
...

I'm unsure what provides libpangocairo-1.0.so.0, and neither is rpm, so I started by checking what provides libz.so.1 and attempting to update it:

[root@...]# rpm -q --whatprovides libz.so.1
zlib-1.2.3-4.el5.i386

[root@...]# rpm -Uvh --force zlib-1.2.3-4.el5.i386.rpm
Preparing...                ########################################### [100%]
   1:zlib                   ########################################### [100%]

After updating, libz.so.1 and libz.so.1.2.3 still do not exist under /usr or /usr/lib, and running rpm -Va still reports the files as missing.

When I try to find / -name 'libz.so.1, the only results are in /lib64 and /usr/lib64, which I believe are coming from the x86_64 version of the package that is also installed.

How should I proceed?

Rob
  • 262
  • 3
  • 8
  • 23

1 Answers1

1

I ran into this today on a brand new CentOS 5.11 VM. I know the OS is no longer "officially" supported, but... customers.

In my case, I had updated openssl to 1.0.2m, from the default openssl-0.9.8e-27.el5_10.4. I thought I had fixed the (re)-creation of those compatibility links in my spec file but apparently, the ordering of rpm scriptlets has bitten me, yet again.

There are two symlinks in /lib that I had to recreate:

# ln -s /usr/lib/libcrypto.so.1.0.0 /lib/libcrypto.so.6
# ln -s /usr/lib/libssl.so.1.0.0 /lib/libssl.so.6

After that, all was peachy.

Jon
  • 111
  • 1