Linux executable picks up FreeBSD library over linux one and
breaks
Alexander Leidinger
Alexander at Leidinger.net
Sat Dec 1 07:29:58 PST 2007
Quoting Yuri <yuri at rawbw.com> (Fri, 30 Nov 2007 16:49:03 -0800):
This is better suited in emulation@
> I am trying to run Linux version of Skype and am getting the following error:
> /usr/home/yuri/skype/current/skype: error while loading shared libraries:
> /usr/lib/librt.so.1: ELF file OS ABI
>
> File /usr/lib/librt.so.1 is FreeBSD library and
> /usr/compat/linux/lib/librt.so.1 is Linux library with the same name
> installed by linux_base-fc-4_10.
>
> My LD_LIBRARY_PATH is set to /usr/compat/linux/lib:/usr/compat/linux/usr/lib.
The recommendation is to _not_ set the LD_LIBRARY_PATH.
> Why FreeBSD version is being picked up even though it's not
> in LD_LIBRARY_PATH?
Have a look at the search order of libs in linux. Correlate this with
the fact that when in linux an access is done to e.g. /lib/libX.so.y
which means that the linuxulator first looks
if /compat/linux/lib/libX.so.y is there, and if it isn't it looks
if /lib/libX.so.y is available.
AFAIR a work around is to add a link
in /compat/linux/usr/lib/librt.so.1 -> /lib/librt.so.1
I want to do something like this in the FC4 port, but hadn't time to do
it and test it so far.
Bye,
Alexander.
--
The TV show you've been looking forward to all week
will be preempted.
http://www.Leidinger.net Alexander @ Leidinger.net: PGP ID = B0063FE7
http://www.FreeBSD.org netchild @ FreeBSD.org : PGP ID = 72077137
More information about the freebsd-emulation
mailing list