Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 7 Aug 1996 15:39:08 -0700 (PDT)
From:      Tom Bartol <bartol@salk.edu>
To:        hackers@FreeBSD.org
Subject:   running linux-elf matlab
Message-ID:  <Pine.NEB.3.93.960807144619.278A-100000@pauling.salk.edu>

next in thread | raw e-mail | index | archive | help


Hi folks,

Well I figured its time to get down to some serious work here trying to
convert everyone in our lab over from linux to FreeBSD.  Our story begins
with discovering that linux has horrible paging troubles when running
large memory processes in addition to having truly awful NFS performance
when being served by anything but linux (we have an Auspex file server
which runs a SunOS 4.1.3 variant and has NFS implemented in hardware).  We
do heavy-duty simulations, mostly in matlab, which run great in linux as
long as you hold to small memory and don't hit the file server too much.
Unfortunately, most real life tasks never fit within these parameters so I
got stuck with the task of trying to figure out how to fix linux.  Being
ever vigilant for the path of least resistance I quickly discovered that
the easy way to fix the problems with linux is to NOT RUN linux but rather
run FreeBSD instead.  This fixed every problem we had and left me with
just one and only one new problem -- I need to be able to run the linux
version matlab-4.2c (proprietary software from the MathWorks Inc.) on
FreeBSD.  Over the past several months I have been trying each new version
of FreeBSD and the linux compatibility module that comes out waiting for
the day that matlab will run in FreeBSD.  I think that day may be near at
hand and if I can get some help from some generous soul on this mailing
list we may see it happen.

Here's we we've got right now:  I've just installed
FreeBSD-2.2-960801-SNAP and I've installed the linux-lib-2.0 compatibility
package.  Matlab was built over a year ago by the MathWorks with a very
old version of elf and expects there to be certain libs in /lib/elf along
with /lib/elf/ld-linux.so.1.0.14 so that
/compat/linux is installed as comes with
linux-lib-2.0 with the addition of /compat/linux/lib/elf which looks like
this:

ls -l /compat/linux/lib/elf/
total 961
lrwxr-xr-x  1 root  wheel      18 Aug  5 12:38 ld-linux.so.1@ ->
ld-linux.so.1.0.14
-rwxr-xr-x  1 bin   bin     17400 Dec 13  1994 ld-linux.so.1.0.14*
lrwxr-xr-x  1 root  wheel      16 Aug  5 12:38 libbfd.so.25@ ->
libbfd.so.25.2.6
-rwxr-xr-x  1 bin   bin    267833 Dec 14  1994 libbfd.so.25.2.6*
lrwxr-xr-x  1 root  wheel       9 Aug  5 12:38 libc.so@ -> libc.so.4
lrwxr-xr-x  1 root  wheel      14 Aug  5 12:38 libc.so.4@ ->
libc.so.4.6.27
-rwxr-xr-x  1 bin   bin    474381 Dec 13  1994 libc.so.4.6.27*
lrwxr-xr-x  1 root  wheel      14 Aug  5 12:38 libcurses.so@ ->
libcurses.so.0
lrwxr-xr-x  1 root  wheel      18 Aug  5 12:38 libcurses.so.0@ ->
libcurses.so.0.1.2
-rwxr-xr-x  1 bin   bin     53148 Dec 13  1994 libcurses.so.0.1.2*
lrwxr-xr-x  1 root  wheel      10 Aug  5 12:38 libdb.so@ -> libdb.so.1
lrwxr-xr-x  1 root  wheel      15 Aug  5 12:38 libdb.so.1@ ->
libdb.so.1.85.1
-rwxr-xr-x  1 bin   bin     68422 Dec 13  1994 libdb.so.1.85.1*
lrwxr-xr-x  1 root  wheel      10 Aug  5 12:38 libdl.so@ -> libdl.so.1
lrwxr-xr-x  1 root  wheel      15 Aug  5 12:38 libdl.so.1@ ->
libdl.so.1.0.14
-rwxr-xr-x  1 bin   bin      6416 Dec 13  1994 libdl.so.1.0.14*
lrwxr-xr-x  1 root  wheel      12 Aug  5 12:38 libgdbm.so@ -> libgdbm.so.1
lrwxr-xr-x  1 root  wheel      16 Aug  5 12:38 libgdbm.so.1@ ->
libgdbm.so.1.7.3
-rwxr-xr-x  1 bin   bin     25550 Dec 13  1994 libgdbm.so.1.7.3*
lrwxr-xr-x  1 root  wheel       9 Aug  5 12:38 libm.so@ -> libm.so.4
lrwxr-xr-x  1 root  wheel      14 Aug  5 12:38 libm.so.4@ ->
libm.so.4.6.27
-rwxr-xr-x  1 bin   bin     37672 Dec 13  1994 libm.so.4.6.27*
lrwxr-xr-x  1 root  wheel      15 Aug  5 12:38 libtermcap.so@ ->
libtermcap.so.1
lrwxr-xr-x  1 root  wheel      19 Aug  5 12:38 libtermcap.so.1@ ->
libtermcap.so.1.2.3
-rwxr-xr-x  1 bin   bin     11380 Dec 13  1994 libtermcap.so.1.2.3*

I also added /lib/elf to /compat/linux/etc/ld.so.conf and rehashed
ld.so.cache with ldconfig as per the section of the FreeBSD handbook on
linux compat.  Now, one would hope that matlab would run but here's what
results when I try:

/usr/local/pkgs/matlab-4.2c/bin/lnx86/matlab
ELF interpreter /lib/elf/ld-linux.so.1 not known
Abort

and

/compat/linux/usr/bin/ldd /usr/local/pkgs/matlab-4.2c/bin/lnx86/matlab
ELF interpreter /lib/elf/ld-linux.so.1 not known

So, it would appear that /lib/elf/ld-linux.so.1 is missing but we can see
from the above ls command that it is there so does anyone out there have a
clue as to how I should proceed with this problem?  Perhaps by "not known"
the ELF interpreter is telling me that it can find
/lib/elf/ld-linux.so.1 but doesn't know what to do with
/lib/elf/ld-linux.so.1 

Thanks for any help you can offer,

Tom





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.NEB.3.93.960807144619.278A-100000>