From owner-freebsd-questions@FreeBSD.ORG Tue May 13 14:30:06 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 70E591065672; Tue, 13 May 2008 14:30:06 +0000 (UTC) (envelope-from fbsd.questions@rachie.is-a-geek.net) Received: from snoogles.rachie.is-a-geek.net (rachie.is-a-geek.net [66.230.99.27]) by mx1.freebsd.org (Postfix) with ESMTP id 482898FC19; Tue, 13 May 2008 14:30:05 +0000 (UTC) (envelope-from fbsd.questions@rachie.is-a-geek.net) Received: from localhost (localhost [127.0.0.1]) by snoogles.rachie.is-a-geek.net (Postfix) with ESMTP id CA83B1CD4A; Tue, 13 May 2008 06:30:04 -0800 (AKDT) From: Mel To: freebsd-questions@freebsd.org, glyn@millingtons.org Date: Tue, 13 May 2008 16:30:02 +0200 User-Agent: KMail/1.9.7 References: <86tzh2oc1t.fsf@nowhere.org> <200805131515.40832.fbsd.questions@rachie.is-a-geek.net> <8663tiiab9.fsf@nowhere.org> In-Reply-To: <8663tiiab9.fsf@nowhere.org> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200805131630.03511.fbsd.questions@rachie.is-a-geek.net> Cc: Kris Kennaway 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 List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 13 May 2008 14:30:06 -0000 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. And yes, Kris, this isn't the 'proper' way, but it's the way that works. I'd be happy to know the proper way as all suggestions I found about 'fixing' linux ldconfig setup generated bogus results (ie. fixed nothing) and this fixed everything. I always suspected this to be because the linker look up is correct, but the actual file is handed in the base system not in the /compat/linux chroot, but I haven't bothered to verify that. -- Mel Problem with today's modular software: they start with the modules and never get to the software part.