Date: Tue, 07 Apr 2009 21:57:59 +0400 From: Boris Samorodov <bsam@ipt.ru> To: David Banning <david@skytracker.ca> Cc: David Banning <david+dated+1239553110.eb108f@skytracker.ca>, questions@freebsd.org Subject: Re: libc.so.6: ELF file OS ABI invalid Message-ID: <80520280@bb.ipt.ru> In-Reply-To: <49DB8D36.7040605@skytracker.ca> (David Banning's message of "Tue\, 07 Apr 2009 13\:28\:22 -0400") References: <20090407161830.GA92526@skytracker.ca> <46603826@bb.ipt.ru> <49DB8D36.7040605@skytracker.ca>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, 07 Apr 2009 13:28:22 -0400 David Banning wrote: > Boris Samorodov wrote: > > On Tue, 7 Apr 2009 12:18:30 -0400 David Banning wrote: > > > >> I get this error when I attempt to run acroread8; > > > >> /compat/linux/bin/sh: error while loading shared libraries: /usr/local/lib/libc.so.6: ELF file OS ABI invalid > >> > >> I get the impression maybe acroread is attempting run a linux binary > >> using a freebsd library - but I am not sure if this is so, or how to fix > >> it. Any pointers would be appreciated. > > > > If you install it from ports/packages that definitely shouldn't happen. > > Do you have some non-default environment like LD_LIBRARY_PATH? > > You may use ktrace/kdump to diagnose the problem. > > > ktrace/kdump appear to show an attempted access of libc.so.6 first > from /usr/lib and then from /usr/lib/compat as well as some other lib > directories. That's bad. If you use native FreeBSD ktrace, then you should see only using native libc. And if native ktrace tries to use /compat... that's too bad. It shouldn't. For tracing linux libs one sjould use linux_kdump. But that's another story. > There is not such a file in any of those directories. I have attempted > to run ldconfig -R to rescan the directory and rebuild the hints file, > but I am going astray here... Well, that may be the curprit. Yur should never use ldconfig until you *know* what you do. For linux libs only linux ldconfig is used and with chroot (-r /compat/linux). > the linux version of libc.so.6 -is- located in /usr/compat/linux/lib > where is does not appear to look. You shoudn't see it with native ktrace. Seems that you rewrote your linux(?) ldconfig database. It's not so hard to restore. Remove /compat/linux/etc/ld.so.cache and rebuild it by "sudo /compat/linux/sbin/ldconfig -r /compat/linux". HTH & WBR -- Boris Samorodov (bsam) Research Engineer, http://www.ipt.ru Telephone & Internet SP FreeBSD Committer, http://www.FreeBSD.org The Power To Serve
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?80520280>