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
Can you paste the output of ldd /usr/lib/librpm-4.4.so
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.
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)
We're linked against libselinux.so.1 which provides matchpathcon_init. Can you run /sbin/ldconfig and try an rpm command again.
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.
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.
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.
I think so too. Off to libselinux to remove (or otherwise use versioned symbols) for a stable and predictable ABI.
Install a version of the libselinux package that has the necessary symbol.
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.