Linux compat library error: ELF file OS ABI invalid
Glyn Millington
glyn at millingtons.org
Tue May 13 18:39:27 UTC 2008
Tijl Coosemans <tijl at ulyssis.org> writes:
> On Tuesday 13 May 2008 16:34:11 Glyn Millington wrote:
>> Tijl Coosemans <tijl at 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
More information about the freebsd-questions
mailing list