googleearth & skype trouble

Tijl Coosemans tijl at ulyssis.org
Sat Apr 19 15:46:20 UTC 2008


On Saturday 19 April 2008 17:03:56 Boris Samorodov wrote:
> On Sat, 19 Apr 2008 00:33:22 +0200 Armin Pirkovitsch wrote:
>> When I try to start them I get:
>> <program>: error while loading shared libraries:
>> /usr/lib/librt.so.1: ELF file OS ABI invalid
> 
> From your kdump:
> -----
>  98302 googleearth-bin NAMI  "/compat/linux/lib/librt.so.1"
>  98302 googleearth-bin NAMI  "/compat/linux"
>  98302 googleearth-bin NAMI  "/compat/linux/lib/librt.so.1"
>  98302 googleearth-bin RET   linux_open 3
>  98302 googleearth-bin CALL  read(0x3,0xbfbfd92c,0x200)
>  98302 googleearth-bin GIO   fd 3 read 512 bytes
> [...]
>  98302 googleearth-bin RET   read 512/0x200
>  98302 googleearth-bin CALL  close(0x3)
>  98302 googleearth-bin RET   close 0
>  98302 googleearth-bin CALL  linux_open(0xbfbfd800,0,0x4805d5ab)
>  98302 googleearth-bin NAMI  "/compat/linux/usr/lib/tls/librt.so.1"
>  98302 googleearth-bin NAMI  "/usr/lib/tls/librt.so.1"
>  98302 googleearth-bin RET   linux_open JUSTRETURN
>  98302 googleearth-bin CALL  linux_open(0xbfbfd800,0,0x4805d5ab)
>  98302 googleearth-bin NAMI  "/compat/linux/usr/lib/librt.so.1"
>  98302 googleearth-bin NAMI  "/usr/lib/librt.so.1"
>  98302 googleearth-bin RET   linux_open 3
>  98302 googleearth-bin CALL  read(0x3,0xbfbfd92c,0x200)
>  98302 googleearth-bin GIO   fd 3 read 512 bytes
> [...]
> -----
> 
> The linux library is found but not used. And then the native FreeBSD
> one is got tried, hence the error occures. Sorry, but that seems to
> be a symptom of linux.osrelease=2.6.16 requirement for those
> applications to run.

Actually, this is a known problem with linux_base-fc4 and 2.4.2
emulation. It pops up on the mailinglists now and then so it's starting
to become a faq.

One of the solutions is to create a softlink:

ln -f ../../lib/librt.so.1 /compat/linux/usr/lib/librt.so.1

That way, the linux compat open(2) syscall never returns the FreeBSD
librt.so.1 and the linker eventually finds the 2.4.2 compatible version
/compat/linux/lib/obsolete/linuxthreads/librt.so.1.

Somebody should at this to a post-install target in the port/package,
because /compat/linux/bin/ls and some others are affected as well.


More information about the freebsd-emulation mailing list