[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: upgrading in sid




ii  zlib1g                1:1.2.3.3.dfsg-8      compression library - runtime
ni@delete:/var/cache/apt$
ni@delete:/var/cache/apt$ ldd /usr/bin/gconftool-2 | grep libz
        libz.so.1 => /usr/local/lib/libz.so.1 (0xb7be0000)
ni@delete:/var/cache/apt$
ni@delete:/var/cache/apt$ ldd /usr/lib/libxml2.so.2 | grep libz
        libz.so.1 => /usr/local/lib/libz.so.1 (0xb7dc0000)
ni@delete:/var/cache/apt$
ni@delete:/var/cache/apt$ nm -D /usr/lib/libz.so.1 | grep gzopen64
00003f80 T gzopen64

You have the latest version of the zlib1g package, but you also have a
non-Debian libz.so.1 in /usr/local/lib/ (probably an older version
installed together with some non-Debian software). Until September 2007
the default behavior would have been to use the Debian library in
/usr/lib/ (therefore you might not have noticed this problem earlier),
but now the default is for /usr/local/lib/ to take precedence. You have
to get your system to use the proper file when libz.so.1 is needed.
The most straightforward approach is to delete or to rename
/usr/local/lib/libz.so.1 and to run "ldconfig" (without arguments as
root). Afterwards you should see something like this:

$ ldconfig -pNX | grep 'libz\.so'
        libz.so.1 (libc6,x86-64) => /usr/lib64/libz.so.1
        libz.so.1 (libc6) => /usr/lib/libz.so.1
        libz.so (libc6) => /usr/lib/libz.so


ni@delete:~$ /sbin/ldconfig -pNX | grep 'libz\.so'
        libz.so.1 (libc6) => /usr/local/lib/libz.so.1
        libz.so.1 (libc6) => /usr/lib/libz.so.1
        libz.so (libc6) => /usr/local/lib/libz.so
        libz.so (libc6) => /usr/lib/libz.so
ni@delete:~$

I'm not aware of ever intentionally doing anything to install any 64bit libs.  My whole system is running as 32-bit.


$ ldd /usr/lib/libxml2.so.2 | grep libz
        libz.so.1 => /usr/lib/libz.so.1 (0xb7e43000)


ni@delete:~$ ldd /usr/lib/libxml2.so.2 | grep libz
        libz.so.1 => /usr/local/lib/libz.so.1 (0xb7e83000)




This tells you that /usr/lib/libz.so.1 will be used from now on, and we
already verified that this one has gzopen64 defined (the "nm ..."
command above). This should allow you to (un)install all the currently
broken packages.

I think I'd like to understand why this first attempt didn't work.


aptitude is still very broken, full output here at http://www.assembla.com/wiki/show/door/AptitudeUpgradeStillFailing





If you need to keep /usr/local/lib/libz.so.1 then you have to set
LD_LIBRARY_PATH to make sure that /usr/lib/ has a higher priority than
/usr/local/lib/. I would advise not to keep alternate versions of
Debian-provided libraries around, at least not if they have the same
soname. If you want to check which other "local" libraries might cause
problems in the future, you can run:

ldconfig -pNX | grep local


i'm totally lost by now (but eagerly trying to keep up), here's the output from that one:

$ /sbin/ldconfig -pNX | grep local
        libz.so.1 (libc6) => /usr/local/lib/libz.so.1
        libz.so (libc6) => /usr/local/lib/libz.so
        libsvn_ra_local-1.so.1 (libc6) => /usr/lib/libsvn_ra_local-1.so.1
        liblocalkonnector.so (libc6) => /usr/lib/liblocalkonnector.so

so should i get rid of all those (or rename them) and see if that helps?

	thanks again,
		~c





Reply to: