From owner-freebsd-questions@FreeBSD.ORG Tue May 13 18:46:36 2008 Return-Path: Delivered-To: freebsd-questions@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4FD5F106566B; Tue, 13 May 2008 18:46:36 +0000 (UTC) (envelope-from glyn@millingtons.org) Received: from mercury.karoo.kcom.com (mercury.karoo.kcom.com [212.50.160.61]) by mx1.freebsd.org (Postfix) with ESMTP id ACCFA8FC1A; Tue, 13 May 2008 18:46:35 +0000 (UTC) (envelope-from glyn@millingtons.org) X-IronPort-AV: E=Sophos;i="4.27,480,1204502400"; d="scan'208";a="314527380" Received: from unknown (HELO glynthebearded.millingtons.org) ([82.152.120.109]) by mercury.karoo.kcom.com with ESMTP; 13 May 2008 17:37:02 +0100 Received: by glynthebearded.millingtons.org (Postfix, from userid 1001) id 12DCA22981; Tue, 13 May 2008 17:38:03 +0100 (BST) To: Kris Kennaway References: <86tzh2oc1t.fsf@nowhere.org> <200805131515.40832.fbsd.questions@rachie.is-a-geek.net> <8663tiiab9.fsf@nowhere.org> <200805131630.03511.fbsd.questions@rachie.is-a-geek.net> <4829BFC9.5010901@FreeBSD.org> Organization: Central Church, Torquay, U.K. X-Now-Playing: There's a deathly hush in the close tonight! X-Liturgical-Date: Optional Memorial: Our Lady of Fatima, A.D. 2008 From: Glyn Millington Date: Tue, 13 May 2008 17:38:02 +0100 In-Reply-To: <4829BFC9.5010901@FreeBSD.org> (Kris Kennaway's message of "Tue\, 13 May 2008 18\:20\:25 +0200") Message-ID: <86bq3agnx1.fsf@nowhere.org> User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.1 (berkeley-unix) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: Mel , freebsd-questions@freebsd.org Subject: Re: Linux compat library error: ELF file OS ABI invalid X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: glyn@millingtons.org List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 13 May 2008 18:46:36 -0000 Kris Kennaway writes: > Mel wrote: >> On Tuesday 13 May 2008 15:48:58 Glyn Millington wrote: >>> Mel 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. Just to summarise :-) So far this description above fits my situation exactly - everything is where you say it should be, and everything worked until a couple of days ago. Having done a portupgrade -akOP recently things appear tio have gone wrong with the results as described originally. For some reason /usr/compat/linux/opt/openoffice.org2.4/program/soffice.bin can't find the linux library which is where you describe it, until I make a symlink, linking /compat/linux/usr/local to X11R6 - then soffice works but other things break > If neither exist (or exist but are corrupted), then the linux binary > will fall back to the bogus FreeBSD one in another search path. But doesn't the above suggest that A. It exists and B. It works when soffice.bin can find it. ? atb Glyn