Bug 156907 - rpm: symbol lookup error: /usr/lib/librpm-4.4.so: undefined symbol: matchpathcon_init
Summary: rpm: symbol lookup error: /usr/lib/librpm-4.4.so: undefined symbol: matchpath...
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Fedora
Classification: Fedora
Component: rpm
Version: 4
Hardware: i386
OS: Linux
medium
high
Target Milestone: ---
Assignee: Paul Nasrat
QA Contact: Mike McLean
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2005-05-05 04:19 UTC by gax
Modified: 2007-11-30 22:11 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2006-06-22 17:29:17 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description gax 2005-05-05 04:19:19 UTC
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.7) Gecko/20050416 Fedora/1.0.3-2 Firefox/1.0.3

Description of problem:
# rpm -Uvh xxxxx
rpm: symbol lookup error: /usr/lib/librpm-4.4.so: undefined symbol: matchpathcon_init

same for rpm -ivh

it is impossible to use yum (or up2date if it was not broken :( ) to rever to an older rpm/rpm-libs

Version-Release number of selected component (if applicable):
rpm-4.4.1-17

How reproducible:
Always

Steps to Reproduce:
1.rpm -Uvh xxxxx on an update done on 2005.05.05 @ 00:18
2.
3.
  

Additional info:

rpm-4.4.1-17
rpm-python-4.4.1-17
rpm-build-4.4.1-17
rpm-libs-4.4.1-17

rpm -a and rpm -e work

Comment 1 Paul Nasrat 2005-05-05 13:54:39 UTC
Can you paste the output of ldd /usr/lib/librpm-4.4.so

Comment 2 Paul Nasrat 2005-05-05 14:01:24 UTC
I'd already caught this and it is fixed in rpm-4.4.1-18.1

To fix you can download rpm-*4.4.1-18.1 get the new libs and binaries on the fs

cd /;/usr/lib/rpm2cpio.sh rpm-libs-4.4.1-18.1.i386.rpm | cpio -ivd
cd /;/usr/lib/rpm2cpio.sh rpm-4.4.1-18.1.i386.rpm | cpio -ivd

Then upgrade the packages using rpm.

Comment 3 gax 2005-05-05 18:31:41 UTC
I tryed 
cd /;/usr/lib/rpm/rpm2cpio.sh /tmp/rpm-libs-4.4.1-18.1.i386.rpm | cpio -ivd
cd /;/usr/lib/rpm/rpm2cpio.sh /tmp/rpm-4.4.1-18.1.i386.rpm | cpio -ivd
i tryed it again after rm -f /bin/rpm /usr/lib/librpm-4.4.so
this problem remains.  

for comment #1
# ldd /usr/lib/librpm-4.4.so
        linux-gate.so.1 =>  (0xb7f6c000)
        librpmdb-4.4.so => /usr/lib/librpmdb-4.4.so (0xb7dbe000)
        librpmio-4.4.so => /usr/lib/librpmio-4.4.so (0xb7d26000)
        libpopt.so.0 => /usr/lib/libpopt.so.0 (0xb7d1e000)
        libselinux.so.1 => /lib/libselinux.so.1 (0xb7d10000)
        libc.so.6 => /lib/tls/libc.so.6 (0xb7be6000)
        libsqlite3.so.0 => /usr/lib/libsqlite3.so.0 (0xb7b91000)
        libelf.so.1 => /usr/lib/libelf.so.1 (0xb7b81000)
        libbeecrypt.so.6 => /usr/lib/libbeecrypt.so.6 (0xb7b36000)
        libm.so.6 => /lib/tls/libm.so.6 (0xb7b13000)
        libdl.so.2 => /lib/libdl.so.2 (0xb7b0f000)
        libz.so.1 => /usr/lib/libz.so.1 (0xb7afc000)
        libneon.so.24 => /usr/lib/libneon.so.24 (0xb7ae2000)
        librt.so.1 => /lib/tls/librt.so.1 (0xb7ace000)
        libpthread.so.0 => /lib/tls/libpthread.so.0 (0xb7abb000)
        libbz2.so.1 => /usr/lib/libbz2.so.1 (0xb7aaa000)
        libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xb7aa0000)
        /lib/ld-linux.so.2 (0x00472000)
        libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0xb79b7000)
        libssl.so.5 => /lib/libssl.so.5 (0xb797f000)
        libcrypto.so.5 => /lib/libcrypto.so.5 (0xb7872000)
        libgssapi_krb5.so.2 => /usr/lib/libgssapi_krb5.so.2 (0xb785b000)
        libkrb5.so.3 => /usr/lib/libkrb5.so.3 (0xb77e9000)
        libk5crypto.so.3 => /usr/lib/libk5crypto.so.3 (0xb77c5000)
        libkrb5support.so.0 => /usr/lib/libkrb5support.so.0 (0xb77c2000)
        libcom_err.so.2 => /lib/libcom_err.so.2 (0xb77bf000)
        libresolv.so.2 => /lib/libresolv.so.2 (0xb77aa000)
        libexpat.so.0 => /usr/lib/libexpat.so.0 (0xb778b000)


Comment 4 Paul Nasrat 2005-05-05 20:30:30 UTC
We're linked against libselinux.so.1 which provides matchpathcon_init. Can you
run /sbin/ldconfig and try an rpm command again.



Comment 5 javier wilson 2005-05-16 16:07:42 UTC
That was it. I installed libselinux 1.23.10-2 and it solved this problem:

cd /;rpm2cpio /var/spool/up2date/libselinux-1.23.10-2.i386.rpm | cpio -ivd

Run ldconfig and then rpm and up2date worked again.

Comment 6 Ling Li 2005-06-14 04:12:58 UTC
This one is still in FC4 final.

When I yum updated from FC3 (latest) to FC4, I did it step by step:

yum -y update yum (in FC3)
get/install the fedora-release package from FC4
yum -y update kernel coreutils
yum -y update yum

New versions of rpm, yum, etc. were then installed, but not libselinux, which
made yum broken.

A simple solution other than the one above is
 1. rpm2cpio libselinux-xxxxx.rpm | cpio -di  into a temporary directory.
 2. add that temp-dir/lib to your LD_LIBRARY_PATH
 3. rpm -Uvh libselinux-xxxxx.rpm

I would suggest to add proper version dependency on libselinux to rpm.

Comment 7 Kjetil T. Homme 2006-06-16 06:07:37 UTC
this bug just hit me too, while upgrading a FC3 system into FC5 en route FC4.  I
think an errata to get the dependency right should be issued.


Comment 8 Jeff Johnson 2006-06-16 10:39:59 UTC
I think so too. Off to libselinux to remove (or otherwise use versioned symbols) for a stable and
predictable ABI.

Comment 9 Jeff Johnson 2006-06-22 17:29:17 UTC
Install a version of the libselinux package that has the necessary symbol.

Comment 10 Kjetil T. Homme 2006-06-22 20:20:55 UTC
Not a bug???

The dependencies for this RPM are broken.  They don't require a sufficiently
recent libselinux.  This causes systems to be broken, and recovery is non-obvious.



Note You need to log in before you can comment on or make changes to this bug.