Glyn Millington wrote:
Kris Kennaway <[EMAIL PROTECTED]> writes:

Mel wrote:
On Tuesday 13 May 2008 15:48:58 Glyn Millington wrote:
Mel <[EMAIL PROTECTED]> writes:
On Tuesday 13 May 2008 14:05:43 Glyn Millington wrote:
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

`----
that include statement leads to /usr/X11R6
Wow - can I just check that I have this right before I do it?!

Best fix:
rm /usr/X11R6
get rid of /usr/X11R6, which on a system-wide basis is a link to /usr/local

touch /usr/X11R6
Create an empty  *file* /usr/X11R6

chflags schg /usr/X11R6
make it system-immutable

/sbin/ldconfig -m /usr/local/lib (just to force the linker to re-read the
dupes).
Merge new stuf in the /usr/local/lib directory into the hints file

As a bonus, the old apps you still have pointing to /usr/X11R6
But the app in question needs to get at

/usr/compat/linux/usr/X11R6/
The app however looks for /usr/X11R6/lib/libXfoo.so.1. If both exist
in base system and linux emulation, then the linker will hand it the
first one it finds, which because of the /usr/X11R6 symlink to
/usr/local will be the FreeBSD one.
The lookup order for linux binaries is /compat/linux/foo first, then
/foo if the former does not exist.  So if /compat/linux/usr/X11R6
exists, then it is seen by linux binaries (similarly for files below
this path).  As far as I know, this file should be a directory, not a
symlink.  Moreover, the desired libXext.so.6 lives in that
directory. It is a symlink pointing to another file in the same
directory.  If neither exist (or exist but are corrupted), then the
linux binary will fall back to the bogus FreeBSD one in another search
path.


Sorry Kris, I was in part plain wrong in my first reply to this one.

Linking /compat/linux/usr/X11R6 to /compat/linux/usr/local fixed my
initial problem


| /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

What I still don't get is why ldconfig doesn't find the the X11R6
directory, when /compat/linux/etc/ld.so.conf point at it


include ld.so.conf.d/*.conf
/lib
/usr/lib
/usr/local/lib

it seems to be ignoring the first line.

Either there is a real problem here or the real problem is my ignorance,
and I'm not sure which it is!

with thanks yet again


atb


Glyn



You re-ran the ldconfig command that rescans the specified directory to rebuild its cache, right? :)

Kris

_______________________________________________
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to