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<schan...@nist.gov>   wrote:

On 06/20/2012 09:55 AM, Andras Horvath wrote:
On Wed, 20 Jun 2012 09:49:04 -0400
Chris Schanzle<schan...@nist.gov>    wrote:

On 06/20/2012 07:30 AM, Andras Horvath wrote:
On Wed, 20 Jun 2012 15:26:16 +0400
Oleg Sadov<sa...@linux-ink.ru>     wrote:

20/06/2012 08:35 +0200, Andras Horvath wrote:
On Tue, 19 Jun 2012 19:05:49 +0200
Andras Horvath<m...@log69.com>     wrote:

On Tue, 19 Jun 2012 09:59:26 -0700
Akemi Yagi<amy...@gmail.com>     wrote:

On Tue, Jun 19, 2012 at 9:55 AM, Andras
Horvath<m...@log69.com>   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<jor...@redhat.com>    - 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

Reply via email to