Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 15 Jun 2007 07:49:59 +0200
From:      Alexander Leidinger <Alexander@Leidinger.net>
To:        "Sean C. Farley" <sean-freebsd@farley.org>
Cc:        freebsd-emulation@freebsd.org
Subject:   Re: Library loading problem for Linux applications
Message-ID:  <20070615074959.e18is1dass88wwso@webmail.leidinger.net>
In-Reply-To: <20070614152441.C1140@baba.farley.org>
References:  <20070614152441.C1140@baba.farley.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Quoting "Sean C. Farley" <sean-freebsd@farley.org> (from Thu, 14 Jun =20
2007 15:40:40 -0500 (CDT)):

> Since the xorg 7.2 upgrade, I have been unable to run games/linux-ut
> (maintainer is yours truly).  I believe it to be the way the libraries
> are being loaded that is causing the problem.
>
> If I try to run the ut (shell script that runs ut-bin), I believe
> SDLDrv.so is having trouble finding the Linux libXext.so.6.
>
> ut -log output (snipped):
> Bound to SDLDrv.so
> appError called:
> Couldn't initialize SDL: No available video device
>
> ktrace output:
> 52006 ut-bin   CALL  open(0xbfbfc5c0,0,0x287078ab)

Please use linux_kdump or truss, the FreeBSD kdump doesn't translate =20
Linux syscalls.

> If I fix the problem by running (cd /compat/linux/usr && ln -s X11R6
> local), then this is solved.  Of course, there has to be a second
> problem; it cannot find the Linux libGL.so.1.
>
> ut -log output (snipped):
> Bound to OpenGLDrv.so
> Loaded render device class.
> Initializing OpenGLDrv...
> binding libGL.so.1
> appError called:
> Failed loading libGL.so.1: /usr/local/lib/libGL.so.1: ELF file OS ABI inva=
lid
>
> ktrace output:
> 1395 ut-bin   CALL  open(0xbfbfc870,0,0)
> 1395 ut-bin   NAMI  "./tls/libGL.so.1"
> 1395 ut-bin   RET   open JUSTRETURN
> 1395 ut-bin   CALL  open(0xbfbfc870,0,0)
> 1395 ut-bin   NAMI  "./libGL.so.1"
> 1395 ut-bin   RET   open JUSTRETURN
> 1395 ut-bin   CALL  open(0xbfbfc870,0,0)
> 1395 ut-bin   NAMI  "/compat/linux/usr/local/lib/tls/libGL.so.1"
> 1395 ut-bin   NAMI  "/usr/local/lib/tls/libGL.so.1"
> 1395 ut-bin   RET   open JUSTRETURN
> 1395 ut-bin   CALL  open(0xbfbfc870,0,0)
> 1395 ut-bin   NAMI  "/compat/linux/usr/local/lib/libGL.so.1"
> 1395 ut-bin   NAMI  "/usr/local/lib/libGL.so.1"
> 1395 ut-bin   RET   open 49/0x31
>
> What is the correct solution to have the Linux application search all
> relevant directories in /compat first?  LD_LIBRARY_PATH is ignored by

That's the default.

> these open() calls.  The nVidia libGL.so.1 is installed in
> /compat/linux/usr/lib.

Do you have the right ld.so.conf (LINUXBASE/etc/) and =20
ld.so.conf.d/xorg-x11-i386.conf? The linux ldconfig has to be run =20
(chrooted). To be on the safe side remove all linux ports, clean =20
/compat/linux, and resinstall the linux ports. Currently it sounds =20
like a ldconfig problem...

Bye,
Alexander.

--=20
If sarcasm were posted on Usenet, would anybody notice?
=09=09-- James Nicoll

http://www.Leidinger.net    Alexander @ Leidinger.net: PGP ID =3D B0063FE7
http://www.FreeBSD.org       netchild @ FreeBSD.org  : PGP ID =3D 72077137



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