Subject: Re: SunOS emulation
To: None <port-sparc@NetBSD.org>
From: Laurens Vets <laurens@daemon.be>
List: port-sparc
Date: 05/16/2005 12:02:28
Greg Earle wrote:
> On May 15, 2005, at 11:50 PM, Laurens Vets wrote:
>
>> Hi list,
>>
>> I've tried to setup SunOS emulation on my SS20, but it doesn't seem to
>> work, i.e. ldd shows a missing shared library.
>>
>> # ldd sunos_binary
>> /home/laurensv/sunos_binary:
>> -lc.1 => not found
>>
>> Now according to the compat_sunos manual, I need to get the shared
>> libraries from a Solaris host, which I did. (I copied the whole
>> /usr/lib/ dir to /emul/sunos on NetBSD).
>>
>> However, I still get the above output. Is there something else I need
>> to do?
>
>
> Solaris libraries go in /emul/svr4, not /emul/sunos.
>
> Also, you need the "usr/lib" tree to be under those two points;
> i.e., SunOS 4.x libraries go in "/emul/sunos/usr/lib"; Solaris 2.x
> libraries go in "/emul/svr4/usr/lib".
>
> ktrace(1) is Your Friend for debugging things like this:
>
> [0:26] isolar:~ % ldd /usr/pkg/lib/netscape/communicator-4.61/netscape
> /usr/pkg/lib/netscape/communicator-4.61/netscape:
> -lc.1 => /usr/lib/libc.so.1.9
> -ldl.1 => /usr/lib/libdl.so.1.0
>
> [0:26] isolar:~ % ktrace -d -i ldd
> /usr/pkg/lib/netscape/communicator-4.61/netscape
> /usr/pkg/lib/netscape/communicator-4.61/netscape:
> -lc.1 => /usr/lib/libc.so.1.9
> -ldl.1 => /usr/lib/libdl.so.1.0
>
> [0:26] isolar:~ % kdump | egrep libc\|libdl
> 1131 netscape NAMI "/emul/sunos/usr/lib/libc.so.1.9.1"
> 1131 netscape NAMI "/usr/lib/libc.so.1.9.1"
> 1131 netscape NAMI "/emul/sunos/usr/lib/libc.so.1.9"
> 1131 netscape NAMI "/emul/sunos/usr/lib/libc.so.1.9"
> 1131 netscape NAMI "/emul/sunos/usr/lib/libdl.so.1.0"
> 1131 netscape NAMI "/emul/sunos/usr/lib/libdl.so.1.0"
> " -lc.1 => /usr/lib/libc.so.1.9
> " -ldl.1 => /usr/lib/libdl.so.1.0
>
> [0:26] isolar:~ % ls -l /emul/sunos
> total 6
> drwxr-xr-x 2 root wheel 512 Feb 27 2001 dev/
> drwxr-xr-x 2 root bin 512 May 5 1998 etc/
> drwxr-xr-x 6 root wheel 512 Feb 27 2001 usr/
>
> [0:28] isolar:~ % ls -l /emul/sunos/usr/lib/libc.so.1.9 \
> /emul/sunos/usr/lib/libdl.so.1.0
> -rwxr-xr-x 1 1074 bin 516096 Jul 7 1994
> /emul/sunos/usr/lib/libc.so.1.9*
> -rwxr-xr-x 1 1074 bin 24576 Jan 20 1994
> /emul/sunos/usr/lib/libdl.so.1.0*
>
> - Greg
I've put "/emul/svr4" in ld.so.conf, ran "ldconfig" and now I get to the
following:
-ldl.1 => not found
-lc.1 => /emul/svr4/usr/lib/libc.so.1
Does it matter from which Solaris version and/or arch you get libs from?
Best regards,
Laurens