amd64/171250: ldd32 cannot find some i386 libraries

Konstantin Belousov kostikbel at gmail.com
Sun Sep 2 16:00:31 UTC 2012


The following reply was made to PR amd64/171250; it has been noted by GNATS.

From: Konstantin Belousov <kostikbel at gmail.com>
To: David Naylor <naylor.b.david at gmail.com>
Cc: freebsd-gnats-submit at freebsd.org
Subject: Re: amd64/171250: ldd32 cannot find some i386 libraries
Date: Sun, 2 Sep 2012 18:57:55 +0300

 --7HqTdBsuSOA5h1B/
 Content-Type: text/plain; charset=us-ascii
 Content-Disposition: inline
 Content-Transfer-Encoding: quoted-printable
 
 On Sun, Sep 02, 2012 at 12:42:43PM +0000, David Naylor wrote:
 > ldd32 does not find libraries, yet ldconfig lists them as known. =20
 >=20
 > # ldconfig -32 -r | grep directories
 >         search directories: /usr/lib32:/usr/local/lib32:/usr/local/lib32/=
 wine
 You should also look at the DT_RPATH and DT_RUNPATH tags in your binary.
 I suspect that there is some path hardcoded which points to the
 native 64bit libraries dir.
 
 > # ldconfig -32 -r | grep 'lssl.6\|iconv.3'
 >         94:-lssl.6 =3D> /usr/lib32/libssl.so.6
 >         124:-liconv.3 =3D> /usr/local/lib32/libiconv.so.3
 > # ldd32 /usr/local/lib32/libcups.so.2=20
 > /usr/local/lib32/libcups.so.2:
 >         libssl.so.6 =3D> not found (0)
 If DT_R*PATH specified native directory, dynamic linker found the
 libssl.so.6 which is for the wrong architecture, and claimed the
 dependency not satisfied.
 
 >         libcrypto.so.6 =3D> /usr/lib32/libcrypto.so.6 (0x281f4000)
 >         libcrypt.so.5 =3D> /usr/lib32/libcrypt.so.5 (0x28351000)
 >         libm.so.5 =3D> /usr/lib32/libm.so.5 (0x28376000)
 >         libiconv.so.3 =3D> not found (0)
 >         libz.so.6 =3D> /usr/lib32/libz.so.6 (0x28390000)
 >         libthr.so.3 =3D> /usr/lib32/libthr.so.3 (0x283a4000)
 >         libc.so.7 =3D> /usr/lib32/libc.so.7 (0x2806c000)
 >=20
 > >How-To-Repeat:
 > Install wine-fbsd64 from www.mediafire.com/wine_fbsd64 and follow instruc=
 tions above. =20
 > >Fix:
 > Explicitly include all library paths in LD_32_LIBRARY_PATH:
 > # env LD_32_LIBRARY_PATH=3D/usr/local/lib32:/usr/lib32 ldd32 /usr/local/l=
 ib32/libcups.so.2
 > /usr/local/lib32/libcups.so.2:
 >         libssl.so.6 =3D> /usr/lib32/libssl.so.6 (0x281f4000)
 If my theory holds, ths explicit use of LD_32_LIBRARY_PATH helps because
 the env var path has precedence over the path from tag.
 
 --7HqTdBsuSOA5h1B/
 Content-Type: application/pgp-signature
 Content-Disposition: inline
 
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.12 (FreeBSD)
 
 iEYEARECAAYFAlBDggMACgkQC3+MBN1Mb4gRgQCgyZN3to7Wz8sxTy0wdXTpZ0bQ
 tUcAn3KTXVYq7kC8tVDD99Qs4DS4e8n4
 =WPKe
 -----END PGP SIGNATURE-----
 
 --7HqTdBsuSOA5h1B/--


More information about the freebsd-amd64 mailing list