Subject: java from Solaris 2.5 under compat_svr4
To: None <port-sparc@netbsd.org>
From: Chris Jones <chris@cjones.org>
List: port-sparc
Date: 10/27/2001 15:13:41
--VS++wcV0S1rZb1Fb
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
I'm mystified, and I was hoping somebody could help me out.
This is all on NetBSD 1.5.2/sparc:
I've gotten my compat_svr4 environment set up, and I copied down
jdk1.2.2 as well. When I run java as root, it works. But when I run
it as me, it dies. Running the .java_wrapper script with -x shows the
same processing whether I'm root or chris, and the environments are
the same (except for the SU_FROM variable). Ktrace shows some
differences, though. As root, it looks like this:
1360 java EMUL "svr4"
1360 java RET execve JUSTRETURN
1360 java CALL getuid
1360 java RET getuid 0
1360 java CALL open(0x100173a1,0,0x13)
1360 java NAMI "/emul/svr4/dev/zero"
1360 java NAMI "/dev/zero"
1360 java RET open 3
1360 java CALL mmap(0,0x1000,0x7,0x80000002,0x3,0)
1360 java RET mmap 268607488/0x1002a000
1360 java CALL open(0x100298bc,0,0xeffff63c)
1360 java NAMI "/emul/svr4/usr/local/jdk/bin/../jre/lib/sparc/green_=
threads/libhpi.so"
1360 java NAMI "/usr/local/jdk/bin/../jre/lib/sparc/green_threads/li=
bhpi.so"
1360 java RET open 4
=2E..
As chris, though, it's just a bit different:
1327 java EMUL "svr4"
1327 java RET execve JUSTRETURN
1327 java CALL getuid
1327 java RET getuid 1000/0x3e8
1327 java CALL getuid
1327 java RET getuid 1000/0x3e8
1327 java CALL open(0x100173a1,0,0x13)
1327 java NAMI "/emul/svr4/dev/zero"
1327 java NAMI "/dev/zero"
1327 java RET open 3
1327 java CALL mmap(0,0x1000,0x7,0x80000002,0x3,0)
1327 java RET mmap 268607488/0x1002a000
1327 java CALL open(0x100298bc,0,0xeffff644)
1327 java NAMI "/emul/svr4/usr/lib/libhpi.so"
1327 java NAMI "/usr/lib/libhpi.so"
1327 java RET open -1 errno 2 No such file or directory
=2E..and then ld.so.1 prints an error kills the process.
This looks like some weirdness where the SunOS ld.so is checking the
UID, and it's changing its library path based on what it finds. Is
this true? If so, how can I get it to behave?
TIA.
Chris
--=20
---------------------------------------------------- chris@cjones.org
Chris Jones Mad scientist at large
www.netbsd.org www.postgresql.org www.schemers.org www.python.org
--VS++wcV0S1rZb1Fb
Content-Type: application/pgp-signature
Content-Disposition: inline
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.4 (NetBSD)
Comment: For info see http://www.gnupg.org
iEYEARECAAYFAjvbI4UACgkQDPY2T8RzaD/DoQCfbPuWGPnQDKtYvZCSWWfjGtuy
ORIAn1zH4GxpCNRzANBenhBAguWS2Oko
=SqRQ
-----END PGP SIGNATURE-----
--VS++wcV0S1rZb1Fb--