I'm afraid that's one for the Oracle folks. Only suggestion I can make here is to utilize the JAVA_HOME environmental variable to point to the correct location on the different machines - that's what I do, rather than trying to force a common installation location.
On Sep 24, 2012, at 3:03 AM, Siegmar Gross <siegmar.gr...@informatik.hs-fulda.de> wrote: > Hi, > > I want to use mpiJava in openmpi-1.9a1r27361 in 64-bit mode in a > heterogeneous Solaris and Linux world and have a problem with the > installation of Java 7 update 7. I know that it is not exactly a > question for this group, but perhaps somebody wants to use mpiJava > in the same way and knows a solution for my problem. I have > downloaded and installed the following packages from > http://www.oracle.com/technetwork/java > > jdk-7u7-solaris-sparc.tar.gz > jdk-7u7-solaris-sparcv9.tar.gz > jdk-7u7-solaris-i586.tar.gz > jdk-7u7-solaris-x64.tar.gz > jdk-7u7-linux-i586.tar.gz > jdk-7u7-linux-x64.tar.gz > > The 32-bit Solaris packages contain everyting and the 64-bit packages > contain the add-ons for 64-bit. Especially they create separate > directories for the 64-bit binary programs in <path to Java>/bin and > <path to Java>/jre/bin. It's different for Linux, because both packages > contain everything and 32- and 64-bit binary programs are installed in > the same directory so that they overwrite each other. Therefore I > created subdirectories "amd64" in both "bin" directories, installed > the 64-bit package first and moved the binary programs into the new > subdirectories before I installed the 32-bit version. Unfortunately > that doesn't solve the problem, because the 64-bit version of "javac" > cannot find necessary libraries (although the library directory is > part of LD_LIBRARY_PATH). > > /usr/local/jdk1.7.0_07/bin/amd64/javac: error while loading > shared libraries: libjli.so: cannot open shared object file: > No such file or directory > > > linpc4 fd1026 97 cd /usr/local/jdk1.7.0_07/bin/ > linpc4 bin 98 ldd javac > linux-gate.so.1 => (0xffffe000) > libpthread.so.0 => /lib/libpthread.so.0 (0xf7750000) > libjli.so => /usr/local/jdk1.7.0_07/bin/../jre/lib/i386/jli/libjli.so > (0xf773b000) > libdl.so.2 => /lib/libdl.so.2 (0xf7736000) > libc.so.6 => /lib/libc.so.6 (0xf75c9000) > /lib/ld-linux.so.2 (0xf776c000) > > linpc4 bin 99 cd amd64/ > linpc4 amd64 100 ldd javac > linux-vdso.so.1 => (0x00007fffc11ff000) > libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f11d1083000) > libjli.so => not found > libdl.so.2 => /lib64/libdl.so.2 (0x00007f11d0e7f000) > libc.so.6 => /lib64/libc.so.6 (0x00007f11d0aef000) > /lib64/ld-linux-x86-64.so.2 (0x00007f11d12a0000) > > > The problem is that the path to the library is hardcoded in the Linux > version of "javac" so that it looks in the wrong directory if you move > the program into a subdirectory. > > linpc4 amd64 101 strings javac > /lib64/ld-linux-x86-64.so.2 > ... > $ORIGIN/../lib/amd64/jli:$ORIGIN/../jre/lib/amd64/jli > ... > > > "Solaris x86_64" doesn't have this problem. > > sunpc4 bin 105 cd amd64/ > sunpc4 amd64 106 ldd javac > libthread.so.1 => /usr/lib/amd64/libthread.so.1 > libjli.so => > /usr/local/jdk1.7.0_07/bin/amd64/../../jre/lib/amd64/jli/libjli.so > libdl.so.1 => /usr/lib/amd64/libdl.so.1 > libc.so.1 => /usr/lib/amd64/libc.so.1 > libm.so.2 => /usr/lib/amd64/libm.so.2 > > sunpc4 amd64 107 strings javac > -J-ms8m > Unknown > 1.7.0_07-b10 > /classes > /lib/tools.jar > com.sun.tools.javac.Main > java > JAR file > Main class > /jdk > /usr/jdk > > > Has anybody solved this problem without installing two complete > and separate versions of Java? Does anybody know about a Java > package for Linux which behaves in the same manner as the package > for "Solaris x86_64"? Is sombody from Oracle in this group who > can provide such a package on the Java web page? Thank you very > much for any suggestions in advance. > > > Kind regards > > Siegmar > > > > > > _______________________________________________ > users mailing list > us...@open-mpi.org > http://www.open-mpi.org/mailman/listinfo.cgi/users