[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[swarm-hackers] what does native_threads do in Swarm Java?

From: Paul Johnson
Subject: [swarm-hackers] what does native_threads do in Swarm Java?
Date: Tue, 26 Aug 2008 23:23:36 -0500
User-agent: Thunderbird (X11/20080724)

OK, I have useful information, unlike my usual offering :)

I installed the Sun JDK from javasoft.com (version 1.6.0_07) and successfully built Swarm & java swarm against it.

Then I tried to build swarm against the Sun JDK version 6 supplied by Ubuntu, and it failed. I trapped the output of the configure, make, and make install phases and posted them here, in case you want to study for yourself.


In the make phase of the Swarm Java stuff (build-make.txt), look what I see over and over:

bin/sh: /usr/lib/jvm/java-6-sun/jre/bin/i386/native_threads/java: not found

And here is where I *believe* that particular problem lies.

In the JDK packaged by Sun, I have i386/native_threads like so:

$ find jdk1.6.0_07 -name "i386"

$ find jdk1.6.0_07 -name "native_*"

$ ls jdk1.6.0_07/jre/lib/i386/native_threads/

However, in the jdk provided by the Ubuntu packager, there are two directories named native_threads

$ find /usr/lib/jvm/java-6-sun- -name "native_*"

and one is empty:

$ ls /usr/lib/jvm/java-6-sun-
$ ls /usr/lib/jvm/java-6-sun-

Why do they have an empty directory /usr/lib/jvm/java-6-sun- ???

Is it possible that an empty native_threads directory under bin/i386 could "fool" the configure script in Swarm, so that it thinks it will find the shared library libhpi.so under bin/i386/native_threads, but it is not there?

I considered just deleting the empty directory. But instead of the destructive approach, I tried to let Swarm find the libhpi.so file under bin/i386/native_threads

$ sudo ln -sf /usr/lib/jvm/java-6-sun- /usr/lib/jvm/java-6-sun-

After that, the swarm make does not obviously fail, but the make install still fails with that message about missing class files. I just uploaded the output (after "make clean") from make and make install


As you see in build-install-fixedi386.txt, I still get lot of class not found errors.

swarm/defobj/FCallCImpl.class : no such file or directory
swarm/defobj/FArgumentsCImpl.class : no such file or directory
swarm/defobj/HDF5CImpl.class : no such file or directory
swarm/defobj/HDF5ArchiverCImpl.class : no such file or directory
swarm/defobj/LispArchiverCImpl.class : no such file or directory

So I tried Marcus's suggestion, to delete java-stubs.elc and try make again. I just uploaded the make and make install logs here.



I don't see what else is wrong with the Sun JDK that Ubuntu provides, but I keep looking.

Then it hit me. Maybe I should have run swarm configure/make completely from scratch.

So I tried that. Still failed. The informative bit, however, is that the error about native_threads re-appears.

/bin/sh: /usr/lib/jvm/java-6-sun/jre/bin/i386/native_threads/java: not found

Because of that, it does not even try to build most java classes.

So it looks like I really do need to try killing that empty native_threads directory from the jvm that Ubuntu installed. What happens?

Apparently, success. After "rm /usr/lib/jvm/java-6-sun-1.6_07/bin/i386", the swarm configure, make, and install proceed fine, all java classes built.

I uploaded the logs




My experience leads me to expect that when I isolate a problem, then one of you will see a fix.

Do you?

1. Question: Without having an Ubuntu user deface his/her java install, can Swarm be built?

2. Question: Suppose I build a deb package for swarm after hacking my java provided by Ubuntu. Will Swarm programs work for users whose java is not similarly cleaned up?



Paul E. Johnson                       email: address@hidden
Professor, Political Science          http://pj.freefaculty.org
1541 Lilac Lane, Rm 504 University of Kansas Office: (785) 864-9086
Lawrence, Kansas 66044-3177           FAX: (785) 864-5700

reply via email to

[Prev in Thread] Current Thread [Next in Thread]