Bug#633982: sun-java6-bin: Multiarch support issue with Sun Java

Tom Marble tmarble at info9.net
Wed Jul 27 10:07:21 UTC 2011


John:

I tried to reproduce your problem on my amd64 system running
unstable, but jenkins worked for me.

I configured the system to use the DLJ version of the JDK:
# update-java-alternatives --set java-6-sun

Once running I was able to confirm that the nss libraries
are loaded by doing (where PID is the jenkins java process):
$ grep nss /proc/29683/maps

The fact it is working may be a side effect of recent
libc change to temporarily disable multi-arch on amd64:
http://packages.debian.org/changelogs/pool/main/e/eglibc/eglibc_2.13-11/changelog

When multi-arch is re-enabled you have a couple of potential
workarounds:

1. As you mention above, you can explicitly add the architecture
   specific directory to the library path (in /etc/default/jenkins):

JAVA_MULTIARCH="-Djava.library.path=/usr/lib/`dpkg-architecture -qDEB_HOST_MULTIARCH`"
JAVA_ARGS="$JAVA_ARGS $JAVA_MULTIARCH"

2. You can choose to use OpenJDK:
  a. System wide change
     # update-java-alternatives --set java-6-openjdk
  b. Jenkins only change:
     in /etc/default/jenkins
     JAVA=/usr/lib/jvm/java-6-openjdk/jre/bin/java

During this transition period you will likely need to
update this configuration when using OpenJDK:
--- /etc/java-6-openjdk/security/nss.cfg ---
name = NSS
nssLibraryDirectory = /usr/lib/x86_64-linux-gnu
nssDbMode = noDb
attributes = compatibility
-------

We will work to insure that OpenJDK is integrated
properly with Debian. As we will never have the sources
for sun-java6 you will need to file a bug with upstream
to request for it to read a config file such as
/etc/java-6-sun/security/nss.cfg so that distributions
can make such adaptations.

Regards,

--Tom







More information about the pkg-java-maintainers mailing list