Date: Sat, 1 Dec 2007 16:29:30 +0100 From: Alexander Leidinger <Alexander@Leidinger.net> To: freebsd-hackers@freebsd.org, Yuri <yuri@rawbw.com>, emulation@freebsd.org Subject: Re: Linux executable picks up FreeBSD library over linux one and breaks Message-ID: <20071201162930.5c9fd4dd@deskjail> In-Reply-To: <1196470143.4750af7f6accf@webmail.rawbw.com> References: <1196470143.4750af7f6accf@webmail.rawbw.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Quoting Yuri <yuri@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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20071201162930.5c9fd4dd>