users@glassfish.java.net

Re: no nspr4 in java.library.path when using enterprise profile

From: <glassfish_at_javadesktop.org>
Date: Wed, 03 Oct 2007 04:49:11 PDT

I have a similar problem on an Ubuntu 64-bit system.

The problem is that you can't mix 32-bit and 64-bit libraries.
So libasnss.so has the following details:
libasnss.so: file format elf32-i386
architecture: i386, flags 0x00000150:
HAS_SYMS, DYNAMIC, D_PAGED
start address 0x000019e8

And its requirements are:
  NEEDED libnss3.so
  NEEDED libsmime3.so
  NEEDED libplc4.so
  NEEDED libnspr4.so
  NEEDED libpthread.so.0
  NEEDED libdl.so.2
  NEEDED libcrypt.so.1
  NEEDED libresolv.so.2
  NEEDED libstdc++.so.5
  NEEDED libm.so.6
  NEEDED libgcc_s.so.1
  NEEDED libc.so.6

However, libnss3.so is a 64-bit library:
/usr/lib/libnss3.so: file format elf64-x86-64
/usr/lib/libnss3.so

These libraries all need to be compiled using the same architecture. Ubuntu (and I guess SLES) is obviously unlike RHES, there are no 32-bit libraries installed - all are 64-bit native - with the exception of some glibc libraries in /lib32.

For Glassfish to work properly on fully 64-bit systems like these, it should start up the JVM in 64-bit mode by default, and have all native shared objects also compiled for the x86-64 architecture. I guess it doesn't need to be be a separate download, if the installer were to decide which was the appropriate set of files to install.

I assume these issues will become obvious as this is going to be packaged for Hardy Heron in UR1.
[Message sent by forum member 'gcoady' (gcoady)]

http://forums.java.net/jive/thread.jspa?messageID=238244