Linux & Maple

Tijl Coosemans tijl at ulyssis.org
Mon Oct 9 11:56:48 PDT 2006


On Saturday 07 October 2006 18:21, Boris Samorodov wrote:
> On Sat, 7 Oct 2006 12:57:19 +0200 Tijl Coosemans wrote:
> > In my case I've nailed it down to a problem with ls. The following
> > shell script works with /bin/sh, but not with
> > /usr/compat/linux/bin/sh. In the latter case it errors out with:
> > 
> > ls: error while loading shared libraries: /usr/lib/librt.so.1: ELF
> > file OS ABI invalid
> 
> That case seems to be a different one. Please, make sure that you
> followed advices given at /usr/ports/UPDATING about upgrading (and
> using) linux_base-fc4.

Ok, I followed that.

The sysctl values are the default ones:
compat.linux.oss_version: 198144
compat.linux.osrelease: 2.4.2
compat.linux.osname: Linux

There are no LD_* variables, so next I removed every linux port and
/compat/linux and reinstalled linux_base-fc4. That made no difference.
(This is an up to date current and ports have all recently been rebuilt.)

The following programs under /compat/linux have this problem:

	/bin/date
	/bin/ls
	/bin/sleep

Running /compat/linux/bin/date for instance gives:

	/compat/linux/bin/date: error while loading shared libraries:
	/usr/lib/librt.so.1: ELF file OS ABI invalid

I think I've found the cause though. "/compat/linux/sbin/ldconfig -p" gives
the following for librt.so.1:

	librt.so.1 (libc6, OS ABI: Linux 2.4.20) => /lib/librt.so.1

Changing the compat.linux.osrelease sysctl value from 2.4.2 to 2.4.20
solves the problem (matlab works in console mode, there's still a
problem with java however so no graphical mode). The advice in
/usr/ports/UPDATING mentioned that this sysctl value shouldn't be
changed though, so perhaps this is simply a typo in the default value?


More information about the freebsd-emulation mailing list