Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 13 May 2008 17:10:56 +0100
From:      Glyn Millington <glyn@millingtons.org>
To:        Tijl Coosemans <tijl@ulyssis.org>
Cc:        freebsd-questions@freebsd.org
Subject:   Re: Linux compat library error:  ELF file OS ABI invalid
Message-ID:  <864p92p4kv.fsf@nowhere.org>
In-Reply-To: <200805131752.12767.tijl@ulyssis.org> (Tijl Coosemans's message of "Tue\, 13 May 2008 17\:52\:11 %2B0200")
References:  <86tzh2oc1t.fsf@nowhere.org> <200805131605.37330.tijl@ulyssis.org> <86fxsmgtng.fsf@nowhere.org> <200805131752.12767.tijl@ulyssis.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Tijl Coosemans <tijl@ulyssis.org> writes:

> On Tuesday 13 May 2008 16:34:11 Glyn Millington wrote:
>> Tijl Coosemans <tijl@ulyssis.org> writes:
>>> On Tuesday 13 May 2008 10:14:54 Glyn Millington wrote:
>>>> FreeBSD 7.0 release, ports currently up-to-date
>>>> 
>>>> 
>>>> Trying to launch Linux Open Office 2.4 I get the following error
>>>> message
>>>> 
>>>> 
>>>> ,----
>>>> | /usr/compat/linux/opt/openoffice.org2.4/program/soffice.bin: error while
>>>> | loading shared libraries: /usr/local/lib/libXext.so.6: ELF file OS ABI
>>>> | invalid
>>>> `----
>>>> 
>>>> Now I *think*   that what it ought to load is 
>>>> 
>>>> /usr/compat/linux/usr/X11R6/lib/libXext.so.6
>>>> 
>>>> but it goes for the FreeBSD X extension lib instead.
>>>> 
>>>> Can anyone help me to fix this?
>>>
>>> If /compat/linux/usr/local doesn't exist, perhaps making it a
>>> symlink to X11R6 does the trick.
>> 
>> Spot on!!    Many thanks :-)
>> 
>> What I don't understand is why that works, when
>> /compat/linux/etc/ld.so.conf points at the right place in the very
>> first line!
>
> I suspect some OO executable or lib has some search paths hardcoded
> which the linker checks before using the ldconfig cache. If you want
> you could check this with: objdump -p <executable> | grep RPATH

That gets me a 

objdump: soffice: File format not recognized

> Also, when a Linux program opens a file (i.e. libXext.so.6), FreeBSD
> first tries to find it under /compat/linux, then under /. So linker
> tries to open /usr/local/lib/libXext.so, but it didn't exist under
> /compat/linux so it got the FreeBSD libXext.so.

OK - tghatnk you, that bit I *do* understand.

many thanks





Glyn



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