From owner-freebsd-stable Sun May 30 8:55: 8 1999 Delivered-To: freebsd-stable@freebsd.org Received: from moek.pir.net (moek.pir.net [209.192.237.190]) by hub.freebsd.org (Postfix) with ESMTP id 92DD614CB9 for ; Sun, 30 May 1999 08:55:05 -0700 (PDT) (envelope-from pir@pir.net) Received: from pir by moek.pir.net with local (Exim) id 10o7vU-0005g6-00 for freebsd-stable@FreeBSD.ORG; Sun, 30 May 1999 11:55:04 -0400 Date: Sun, 30 May 1999 11:55:04 -0400 From: Peter Radcliffe To: freebsd-stable@FreeBSD.ORG Subject: ELF and a.out disagreements. Message-ID: <19990530115504.C21243@pir.net> Mail-Followup-To: freebsd-stable@FreeBSD.ORG Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 0.95.4i X-fish: < Sender: owner-freebsd-stable@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG I'm trying to trace down an odd problem which seems to be getting into ld.so behaviour that I don't think is optimal ... After I upgraded one of my 2.2.8-R machine to 3.2-S I stopped being able to run several linux binaries under emulation, everything was turned on and installed as it should be, I reinstalled the linux_lib package, just to be sure, but netscape, acrobat and applix would fail with "symbol not found" error messages: ./netscape.linux.4.08.bin: can't resolve symbol '__mb_cur_max' ./netscape.linux.4.08.bin: can't resolve symbol '_DefaultRuneLocale' ./netscape.linux.4.08.bin: can't resolve symbol '_CurrentRuneLocale' ./netscape.linux.4.08.bin: can't resolve symbol '__sF' Linux ld.so seemed to be getting called correctly, all the libraries shown in ldd output were there ... boggled me and a couple of other people. Eventually I had a similar problem with a FreeBSD 2 binary that was still on the machine after the upgrade, this gave me a slightly more useful error message from ld.so that 'library (random X lib) was -1 older than expected minor version (n), using it anyway' followed by a bad magic number complaint for the same library. It dawned on me that ld.so - a.out ld.so - was trying to use ELF libraries and I quickly worked out this was because I had LD_LIBRARY_PATH set that included /usr/X11R6/lib (something that is often needed on Solaris boxes if people havn't used -R correctly). I uset LD_LIBRARY_PATH and all of these problems went away ... 1) This was impossible for me to debug with linux binaries. 2) a.out ld.so was dying on ELF libraries ... now, I know that was in part my fault for pointing it at them, but surely this is something thats going to keep happening ? How do you (as a user) point ELF ld.so at extra libraries without making a.out ld.so break ? Peter. -- pir pir@pir.net pir@shore.net pir@net.tufts.edu To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-stable" in the body of the message