Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 6 May 2011 20:37:50 +0200
From:      Michael Hoffmann <benzene@arcor.de>
To:        freebsd-stable@freebsd.org
Subject:   Double installation of liblzma.so.5 breaks libarchive.so.5
Message-ID:  <201105062037.50937.benzene@arcor.de>

next in thread | raw e-mail | index | archive | help
Hi,

May be some of you will be affected by this like me.

Today I upgraded from RELEASE_8_1 to RELEASE_8_2. The box was upgraded over 
the years starting from 6.2, as far as I know.

But now this happened:
> # pkg_create -b xz-5.0.1
> /libexec/ld-elf.so.1: /usr/local/lib/liblzma.so.5: version XZ_5.0 required 
by /usr/lib/libarchive.so.5 not defined
>
> # ldd /usr/lib/libarchive.so.5
> /usr/lib/libarchive.so.5:
>         libz.so.5 => /lib/libz.so.5 (0x281d5000)
>         libmd.so.5 => /lib/libmd.so.5 (0x281e7000)
>         libbz2.so.4 => /usr/lib/libbz2.so.4 (0x28300000)
>         liblzma.so.5 => /usr/local/lib/liblzma.so.5 (0x28311000) <== !!!
>         libcrypto.so.6 => /lib/libcrypto.so.6 (0x28331000)
>         libc.so.7 => /lib/libc.so.7 (0x2808f000)
>         libthr.so.3 => /lib/libthr.so.3 (0x28483000)
>
> # find / -name "liblzma.so.5"
> /usr/lib/liblzma.so.5
> /usr/local/lib/liblzma.so.5
>
> pkg_info -W /usr/local/lib/liblzma.so.5
> /usr/local/lib/liblzma.so.5 was installed by package xz-5.0.1

I think trouble partially comes from preserving an old LD_LIBRARY_PATH entry 
in csh.cshrc:
> # mergemaster
> [...]
> *** Displaying differences between ./etc/csh.cshrc and installed version:
> --- /etc/csh.cshrc      2011-05-05 20:20:26.000000000 +0200
> +++ ./etc/csh.cshrc     2011-05-06 18:23:46.000000000 +0200
> @@ -1,4 +1,3 @@
> -# $FreeBSD: src/etc/csh.cshrc,v 1.3.56.1.4.1 2010/06/14 02:09:06 kensmith 
Exp $
> +# $FreeBSD: src/etc/csh.cshrc,v 1.3.56.1.6.1 2010/12/21 17:09:25 kensmith 
Exp $ # 
>  # System-wide .cshrc file for csh(1).
> -setenv LD_LIBRARY_PATH /usr/local/lib:/usr/local/lib/pth
>
>   Use 'd' to delete the temporary ./etc/csh.cshrc
>   Use 'i' to install the temporary ./etc/csh.cshrc
>   Use 'm' to merge the temporary and installed versions
>   Use 'v' to view the diff results again
> 
>   Default is to leave the temporary file to deal with by hand
> 
> How should I deal with this? [Leave it for later] m
> 
> # $FreeBSD: src/etc/csh.cshrc,v 1.3.5 | # $FreeBSD: src/etc/csh.cshrc,v 
1.3.5
> %2
> setenv LD_LIBRARY_PATH /usr/local/lib <
> %1
> 
>   Use 'i' to install merged file
>   Use 'r' to re-do the merge
>   Use 'v' to view the merged file
>   Default is to leave the temporary file to deal with by hand
> 
>     *** How should I deal with the merged file? [Leave it for later] i

After deinstalling xz-5.0.1 everything works fine again. But probably cleaning 
the environment from LD_LIBRARY_PATH would have done, too. (I thought it to 
be wise to remove it from csh.cshrc. After that I used libchk and pkg_libchk, 
and everything seems fine.)

I cannot reconstruct why 'pkgdb -Fu' did not tried to prevent me from 
using 'archivers/xz' furthermore, allthough it now seems to be marked as 
IGNORE. I also don't know how this LD_LIBRARY thing ever popped up in 
csh.cshrc, but it seems to persist there from at least 7.2. Newer systems 
don't seem to have such an entry.

Kind regards,
Michael Hoffmann



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201105062037.50937.benzene>