(no subject)

Apr 30, 2007 23:55

ahahahahaha. ESR hits the nail right on the head, about 12 years too late.
The proximate causes of this failure were (1) incompetent repository maintenance, making any nontrivial upgrade certain to founder on a failed dependency, and (2) the fact that rpm is not statically linked -- so it's possible to inadvertently remove a shared library it depends on and be unrecoverably screwed. But the underlying problems run much deeper.

For comparison:

pi@speare5-1-13:~ $ ldd `which rpm`
linux-gate.so.1 => (0x00be0000)
librpm-4.4.so => /usr/lib/librpm-4.4.so (0x0049d000)
librpmdb-4.4.so => /usr/lib/librpmdb-4.4.so (0x00164000)
libselinux.so.1 => /lib/libselinux.so.1 (0x04c0f000)
librpmio-4.4.so => /usr/lib/librpmio-4.4.so (0x00400000)
libpopt.so.0 => /usr/lib/libpopt.so.0 (0x00953000)
libsqlite3.so.0 => /usr/lib/libsqlite3.so.0 (0x04ce0000)
libelf.so.1 => /usr/lib/libelf.so.1 (0x00dea000)
libbeecrypt.so.6 => /usr/lib/libbeecrypt.so.6 (0x00124000)
libneon.so.25 => /usr/lib/libneon.so.25 (0x047bd000)
libm.so.6 => /lib/libm.so.6 (0x00d60000)
libdl.so.2 => /lib/libdl.so.2 (0x00d87000)
libz.so.1 => /usr/lib/libz.so.1 (0x00bfe000)
librt.so.1 => /lib/librt.so.1 (0x00bd5000)
libpthread.so.0 => /lib/libpthread.so.0 (0x00d8d000)
libbz2.so.1 => /usr/lib/libbz2.so.1 (0x05b99000)
libc.so.6 => /lib/libc.so.6 (0x00c2b000)
libsepol.so.1 => /lib/libsepol.so.1 (0x008b9000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00db5000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00ae0000)
libssl.so.6 => /lib/libssl.so.6 (0x048a1000)
libcrypto.so.6 => /lib/libcrypto.so.6 (0x002c9000)
libgssapi_krb5.so.2 => /usr/lib/libgssapi_krb5.so.2 (0x00938000)
libkrb5.so.3 => /usr/lib/libkrb5.so.3 (0x0482a000)
libk5crypto.so.3 => /usr/lib/libk5crypto.so.3 (0x00911000)
libkrb5support.so.0 => /usr/lib/libkrb5support.so.0 (0x0090b000)
libcom_err.so.2 => /lib/libcom_err.so.2 (0x00906000)
libresolv.so.2 => /lib/libresolv.so.2 (0x008a4000)
libexpat.so.0 => /lib/libexpat.so.0 (0x00101000)
/lib/ld-linux.so.2 (0x00be1000)
pi@speare5-1-13:~ $ ldd `which rpm` | wc -l
30
pi@coffeehost:~ $ ldd `which dpkg`
linux-gate.so.1 => (0xffffe000)
libpthread.so.0 => /lib/libpthread.so.0 (0x47cc1000)
libc.so.6 => /lib/libc.so.6 (0x47b4f000)
/lib/ld-linux.so.2 (0x47b2f000)

More later. :D

lol, rpm

Previous post Next post
Up