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--