Bug 156907 - rpm: symbol lookup error: /usr/lib/librpm-4.4.so: undefined symbol: matchpathcon_init
rpm: symbol lookup error: /usr/lib/librpm-4.4.so: undefined symbol: matchpath...
Product: Fedora
Classification: Fedora
Component: rpm (Show other bugs)
i386 Linux
medium Severity high
: ---
: ---
Assigned To: Paul Nasrat
Mike McLean
: Reopened
Depends On:
  Show dependency treegraph
Reported: 2005-05-05 00:19 EDT by gax
Modified: 2007-11-30 17:11 EST (History)
3 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2006-06-22 13:29:17 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

  None (edit)
Description gax 2005-05-05 00:19:19 EDT
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):

How reproducible:

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

Additional info:


rpm -a and rpm -e work
Comment 1 Paul Nasrat 2005-05-05 09:54:39 EDT
Can you paste the output of ldd /usr/lib/librpm-4.4.so
Comment 2 Paul Nasrat 2005-05-05 10:01:24 EDT
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 14:31:41 EDT
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 16:30:30 EDT
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 12:07:42 EDT
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 00:12:58 EDT
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 02:07:37 EDT
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 06:39:59 EDT
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 13:29:17 EDT
Install a version of the libselinux package that has the necessary symbol.
Comment 10 Kjetil T. Homme 2006-06-22 16:20:55 EDT
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.