broken yum after latest yum update

Konstantin Svist fry.kun at gmail.com
Sat Dec 1 07:31:51 UTC 2007


Michael Schwendt wrote:
> On 30/11/2007, Konstantin Svist <fry.kun at gmail.com> wrote:
>   
>> Michael Schwendt wrote:
>>     
>>> On 30/11/2007, Konstantin Svist  wrote:
>>>
>>>       
>>>> Okay, I'll try reinstalling the python-libs package.
>>>> According to rpm -q, the file is owned by "python-2.5.1.." package -
>>>> which is why I tried reinstalling that one, instead.
>>>>
>>>>         
>>> You're misinterpreting the error message.
>>>
>>> cPickle.so is included within the "python" package, but depends on
>>> symbols in libpython in /usr/lib, which is found in the "python-libs"
>>> package. It's important that you don't disturb this inter-library
>>> dependency when installing into /usr/local/lib.
>>>
>>>
>>>       
>> Well, that didn't work either - guess I f'ed it up pretty badly.
>>     
>
> Yes, you did. :)
>
>   
>> So far, I backed up /usr/lib/python-2.5 and overwrote cPickle.so from
>> /usr/local/... - yum stopped complaining about cPickle, but started
>> complaining about other libraries. After copying a few of those over as
>> well, it's now complaining about not being able to import sqlite (which
>> is weird, because it seems that python-sqlite2 package wasn't installed
>> in the first place)
>>
>> I'll probably end up copying /usr/lib/python from a clean F8 system...
>> but I would really rather find the real cause of the problem and fix
>> that, instead.
>>
>> By the way, the .so files had file creation date of Oct 30th - so it
>> doesn't look like they've been replaced... weird. I have noatime turned
>> on, but that shouldn't affect creation dates, right?
>>     
>
> Files installed as RPM packages get the mtime copied from what it
> stored in the package. Python for F8 was last updated/built on Oct
> 30th.
>   

After checking the system against a clean one and trying to copy some 
things over, I tried removing the /usr/local install (by hand, since 
uninstall is not really available with python source). That made 
everything work.
Looking carefully at the filenames, I noticed that there were files 
/usr/local/libpython2.5.so and /usr/local/libpython2.5.so.1.0 - and sure 
enough, after bringing them back into /usr/local/lib/ things went back 
to the broken state.

So:
* $LD_LIBRARY_PATH is not set
* I explicitly run /usr/bin/python
* "import sys; print sys.path" doesn't mention any /usr/local directories
* "import <some package that's only available in stock python>" works
* "import <some package that's only available in custom python>" doesn't 
work

So how come it seems to use /usr/local/lib/libpython2.5.so?? Where did I 
go wrong?





More information about the users mailing list