SCIENTIFIC-LINUX-USERS Archives

June 2012

SCIENTIFIC-LINUX-USERS@LISTSERV.FNAL.GOV

Options: Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Subject:
From:
Chris Schanzle <[log in to unmask]>
Reply To:
Chris Schanzle <[log in to unmask]>
Date:
Wed, 20 Jun 2012 12:00:38 -0400
Content-Type:
text/plain
Parts/Attachments:
text/plain (228 lines)
On 06/20/2012 11:46 AM, Andras Horvath wrote:
> On Wed, 20 Jun 2012 17:18:21 +0200
> Andras Horvath <[log in to unmask]> wrote:
>
>> On Wed, 20 Jun 2012 10:23:40 -0400
>> Chris Schanzle <[log in to unmask]> wrote:
>>
>>> On 06/20/2012 10:19 AM, Chris Schanzle wrote:
>>>> On 06/20/2012 10:09 AM, Andras Horvath wrote:
>>>>> On Wed, 20 Jun 2012 10:04:03 -0400
>>>>> Chris Schanzle<[log in to unmask]>   wrote:
>>>>>
>>>>>> On 06/20/2012 09:55 AM, Andras Horvath wrote:
>>>>>>> On Wed, 20 Jun 2012 09:49:04 -0400
>>>>>>> Chris Schanzle<[log in to unmask]>    wrote:
>>>>>>>
>>>>>>>> On 06/20/2012 07:30 AM, Andras Horvath wrote:
>>>>>>>>> On Wed, 20 Jun 2012 15:26:16 +0400
>>>>>>>>> Oleg Sadov<[log in to unmask]>     wrote:
>>>>>>>>>
>>>>>>>>>> 20/06/2012 08:35 +0200, Andras Horvath wrote:
>>>>>>>>>>> On Tue, 19 Jun 2012 19:05:49 +0200
>>>>>>>>>>> Andras Horvath<[log in to unmask]>     wrote:
>>>>>>>>>>>
>>>>>>>>>>>> On Tue, 19 Jun 2012 09:59:26 -0700
>>>>>>>>>>>> Akemi Yagi<[log in to unmask]>     wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>> On Tue, Jun 19, 2012 at 9:55 AM, Andras
>>>>>>>>>>>>> Horvath<[log in to unmask]>   wrote:
>>>>>>>>>>>>>
>>>>>>>>>>>>>> How could I run a self check on all packages with rpm to
>>>>>>>>>>>>>> see if all the files are there and their hashes match
>>>>>>>>>>>>>> too?
>>>>>>>>>>>>>
>>>>>>>>>>>>> Run 'rpm -V' against the packages.
>>>>>>>>>>>>>
>>>>>>>>>>>>> If you get any output, then there is (are) some
>>>>>>>>>>>>> mismatch(es). Man page has the explanation for the
>>>>>>>>>>>>> output.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Akemi
>>>>>>>>>>>>
>>>>>>>>>>>> I ran it against python and yum packages, but all are ok.
>>>>>>>>>>>>
>>>>>>>>>>>> Andras
>>>>>>>>>>>
>>>>>>>>>>> If I restore "/usr/lib64/python2.6" directory from my
>>>>>>>>>>> backup, then yum works again just fine. I can run "yum
>>>>>>>>>>> update" too. But when I run "yum reinstall python", then
>>>>>>>>>>> after the package install everything goes wrong again.
>>>>>>>>>>>
>>>>>>>>>>> Any idea what could cause this? This is a simple case
>>>>>>>>>>> installing a package.
>>>>>>>>>>
>>>>>>>>>> Required cElementTree module is actually located in
>>>>>>>>>> xml.etree (/usr/lib64/python2.6/xml/etree/cElementTree.py
>>>>>>>>>> from python rpm), standalone cElementTree is not included
>>>>>>>>>> in distro. Try to check access to the module at python
>>>>>>>>>> interactive session:
>>>>>>>>>>
>>>>>>>>>> from xml.etree import cElementTree
>>>>>>>>>>
>>>>>>>>>>> Andras
>>>>>>>>>
>>>>>>>>> $ python
>>>>>>>>> Python 2.6.6 (r266:84292, Jun 18 2012, 09:57:52)
>>>>>>>>> [GCC 4.4.6 20110731 (Red Hat 4.4.6-3)] on linux2
>>>>>>>>> Type "help", "copyright", "credits" or "license" for more
>>>>>>>>> information.
>>>>>>>>>>>> from xml.etree import cElementTree
>>>>>>>>> Traceback (most recent call last):
>>>>>>>>>        File "<stdin>", line 1, in<module>
>>>>>>>>>        File "/usr/lib64/python2.6/xml/etree/cElementTree.py",
>>>>>>>>> line 3, in<module>    from _elementtree import *
>>>>>>>>> ImportError: /usr/lib64/python2.6/lib-dynload/pyexpat.so:
>>>>>>>>> symbol XML_SetHashSalt, version EXPAT_2_0_1_RH not defined in
>>>>>>>>> file libexpat.so.1 with link time reference
>>>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Andras
>>>>>>>>
>>>>>>>> What does this output?
>>>>>>>>
>>>>>>>> rpm -q expat
>>>>>>>>
>>>>>>>> Do you have a yum update pending for it?
>>>>>>>>
>>>>>>>> rpm -q --changelog expat | head
>>>>>>>> * Fri Apr 27 2012 Joe Orton<[log in to unmask]>    - 2.0.1-11
>>>>>>>> - use symbol version for XML_SetHashSalt (CVE-2012-0876,
>>>>>>>> #816306)
>>>>>>>
>>>>>>> Thanks for you help. The output of "rpm -q expat" is:
>>>>>>>
>>>>>>> expat-2.0.1-11.el6_2.x86_64
>>>>>>>
>>>>>>> I'm supposed to have all the updates installed to date.
>>>>>>>
>>>>>>> Andras
>>>>>>
>>>>>> Hmm.  Well, on a fully updated CentOS 6 system (sorry, I
>>>>>> switched back), I have:
>>>>>>
>>>>>> rpm -q expat
>>>>>> expat-2.0.1-11.el6_2.x86_64
>>>>>> expat-2.0.1-11.el6_2.i686
>>>>>>
>>>>>>
>>>>>> python
>>>>>> Python 2.6.6 (r266:84292, Dec  7 2011, 20:48:22)
>>>>>> [GCC 4.4.6 20110731 (Red Hat 4.4.6-3)] on linux2
>>>>>> Type "help", "copyright", "credits" or "license" for more
>>>>>> information.
>>>>>>>>> from xml.etree import cElementTree
>>>>>>>>> ^D
>>>>>>
>>>>>>
>>>>>> Could this be an issue with prelink?  Try unprelinking the
>>>>>> world.
>>>>>
>>>>> # prelink -au
>>>>> prelink: /usr/lib64/xulrunner-2/libxul.so: DT_JMPREL tag not
>>>>> adjacent to DT_RELA relocations
>>>>> prelink: /usr/lib64/sunbird-1.0b2pre/xpcshell: Could not find one
>>>>> of the dependencies
>>>>> prelink: /usr/lib64/sunbird-1.0b2pre/sunbird-bin: Could not find
>>>>> one of the dependencies
>>>>> prelink: /usr/lib64/xulrunner-2/libmozsqlite3.so: DT_JMPREL tag
>>>>> not adjacent to DT_RELA relocations
>>>>>
>>>>> Unfortunately problem still persists.
>>>>>
>>>>> Andras
>>>>
>>>>
>>>> Running low on ideas...
>>>>
>>>> Assuming your locate db is up to date (if not,
>>>> run /etc/cron.daily/mlocate.cron ), compare your results of:
>>>>
>>>> locate libexpat.so
>>>>
>>>> I have several others, but my LD_LIBRARY_PATH is empty:
>>>>
>>>> locate libexpat.so
>>>> /lib/libexpat.so.1
>>>> /lib/libexpat.so.1.5.2
>>>> /lib64/libexpat.so.1
>>>> /lib64/libexpat.so.1.5.2
>>>> /local/opt/matlab-2012a/bin/glnxa64/libexpat.so.1
>>>> /local/opt/matlab-2012a/bin/glnxa64/libexpat.so.1.5.0
>>>> /usr/lib/vmware/lib/libexpat.so.0
>>>> /usr/lib/vmware/lib/libexpat.so.0/libexpat.so.0
>>>> /usr/lib/vmware/ovftool/libexpat.so.0
>>>> /usr/lib/vmware-installer/1.1/lib/lib/libexpat.so.0
>>>> /usr/lib/vmware-installer/1.1/lib/lib/libexpat.so.0/libexpat.so.0
>>>> /usr/lib64/libexpat.so
>>>> /usr/lib64/libexpat.so.0
>>>> /usr/lib64/libexpat.so.0.5.0
>>>>
>>>>
>>>> env | grep LD
>>>
>>> One final check:
>>>
>>> strace -e file python -c 'from xml.etree import cElementTree' 2>&1 |
>>> grep libexpat.so open("/lib64/libexpat.so.1", O_RDONLY)  = 5
>>
>> locate libexpat.so
>>
>> /lib/libexpat.so.1
>> /lib/libexpat.so.1.5.2
>> /lib64/libexpat.so.1
>> /lib64/libexpat.so.1.5.2
>> /usr/lib64/libexpat.so
>>
>> As I see I'm missing these compared to you:
>>
>> /usr/lib64/libexpat.so.0
>> /usr/lib64/libexpat.so.0.5.0
>>
>> I'll try to reinstall it then.
>>
>> To the other:
>>
>> $ strace -e file python -c 'from xml.etree import cElementTree' 2>&1
>> | grep libexpat.so open("/lib/libexpat.so.1", O_RDONLY)    = 5
>> ImportError: /usr/lib64/python2.6/lib-dynload/pyexpat.so: symbol
>> XML_SetHashSalt, version EXPAT_2_0_1_RH not defined in file
>> libexpat.so.1 with link time reference
>>
>> This seems to be the cause of all this I guess. Any other idea on how
>> to resolve this specific one? :)
>>
>> Thanks for you time!
>
> When I restore my /usr/lib64/python2.6 directory, then all the above
> commands work fine, no error messages regarding expat. I can even
> reinstall expat, no problem.
>
> But when I run "yum reinstall python", then everything goes wrong. I
> don't understand why. What is sure, that python has its expat bindings
> inside this directory, and they might change. So can there be some
> version mismatch issue here?
>
> But if libexpat.so doesn't change, then only pyexpat.py must have
> something to do with addressing the lib wrongly.
>
> Andras

This is confusing.  Stepping back a bit, you are obviously x86_64.
Your notfound /usr/lib64/libexpat.so.0 shouldn't be an issue since my python isn't loading that.  But anyway:
   rpm -qf /usr/lib64/libexpat.so.0
   compat-expat1-1.95.8-8.el6.x86_64

You wrote:
>> $ strace -e file python -c 'from xml.etree import cElementTree' 2>&1
>> | grep libexpat.so
>>  open("/lib/libexpat.so.1", O_RDONLY)    = 5

Why is python, which should be 64-bit python-2.6.6-29.el6_2.2.x86_64, trying to load the 32-bit library?

I'd poke around looking at 32/64 bit issues.  I'm no python expert...could you have something specific in your login directory, or PYTHONPATH/PYTHONHOME in your environment?
env | grep PYTHON

Do you have python.i686 installed?  I don't.

ATOM RSS1 RSS2