Looks to me like we had a bug in the configure code - when we set the path for 
the javac/h tests, we put your specified jdk-bindir at the *end* instead of at 
the beginning. So if you had javac in your path, we picked it up instead of the 
one you specified.

Should now be fixed in r27360.

Thanks!

On Sep 22, 2012, at 11:04 AM, Siegmar Gross 
<siegmar.gr...@informatik.hs-fulda.de> wrote:

> Hi,
> 
> I just installed openmpi-1.9a1r27359 in 64-bit mode. I used the following
> command to configure the package. Unfortunately it doesn't work as expected,
> because it still uses the 32-bit javac from /usr/local/jdk1.7.0_07/bin
> so that I get an error when I try to run a Java program.
> 
> ../openmpi-1.9a1r27359/configure --prefix=/usr/local/openmpi-1.9_64_cc \
>  --libdir=/usr/local/openmpi-1.9_64_cc/lib64 \
>  --with-jdk-bindir=/usr/local/jdk1.7.0_07/bin/sparcv9 \
>  --with-jdk-headers=/usr/local/jdk1.7.0_07/include \
>  LDFLAGS="-m64" \
>  CC="cc" CXX="CC" FC="f95" \
>  CFLAGS="-m64" CXXFLAGS="-m64 -library=stlport4" FCFLAGS="-m64" \
>  CPP="cpp" CXXCPP="cpp" \
>  CPPFLAGS="" CXXCPPFLAGS="" \
>  C_INCL_PATH="" C_INCLUDE_PATH="" CPLUS_INCLUDE_PATH="" \
>  OBJC_INCLUDE_PATH="" OPENMPI_HOME="" \
>  --enable-cxx-exceptions \
>  --enable-mpi-java \
>  --enable-heterogeneous \
>  --enable-orterun-prefix-by-default \
>  --enable-opal-multi-threads \
>  --enable-mpi-thread-multiple \
>  --with-threads=posix \
>  --with-hwloc=internal \
>  --without-verbs \
>  --without-udapl \
>  --with-wrapper-cflags=-m64 \
>  |& tee log.configure.$SYSTEM_ENV.$MACHINE_ENV.64_cc
> 
> I have the following lines in config.log.
> 
> tyr openmpi-1.9-SunOS.sparc.64_cc 237 more config.log
> This file contains any messages produced by compilers while
> running configure, to aid debugging if configure makes a mistake.
> 
> It was created by Open MPI configure 1.9a1, which was
> generated by GNU Autoconf 2.69.  Invocation command line was
> 
>  $ ../openmpi-1.9a1r27359/configure --prefix=/usr/local/openmpi-1.9_64_cc 
> --libd
> ir=/usr/local/openmpi-1.9_64_cc/lib64 
> --with-jdk-bindir=/usr/local/jdk1.7.0_07/bi
> n/sparcv9 --with-jdk-headers=/usr/local/jdk1.7.0_07/include LDFLAGS=-m64 
> CC=cc CX
> X=CC FC=f95 CFLAGS=-m64 CXXFLAGS=-m64 -library=stlport4 FCFLAGS=-m64 CPP=cpp 
> CXXC
> PP=cpp CPPFLAGS= CXXCPPFLAGS= C_INCL_PATH= C_INCLUDE_PATH= 
> CPLUS_INCLUDE_PATH= OB
> JC_INCLUDE_PATH= OPENMPI_HOME= --enable-cxx-exceptions --enable-mpi-java 
> --enable
> -heterogeneous --enable-orterun-prefix-by-default --enable-opal-multi-threads 
> --e
> nable-mpi-thread-multiple --with-threads=posix --with-hwloc=internal 
> --without-ve
> rbs --without-udapl --with-wrapper-cflags=-m64
> ...
> configure:27443: checking --with-jdk-bindir value
> configure:27463: result: sanity check ok (/usr/local/jdk1.7.0_07/bin/sparcv9)
> configure:27475: checking --with-jdk-headers value
> configure:27495: result: sanity check ok (/usr/local/jdk1.7.0_07/include)
> configure:27515: checking for javac
> configure:27533: found /usr/local/jdk1.7.0_07/bin/javac
> configure:27545: result: /usr/local/jdk1.7.0_07/bin/javac
> configure:27555: checking for javah
> configure:27573: found /usr/local/jdk1.7.0_07/bin/javah
> configure:27585: result: /usr/local/jdk1.7.0_07/bin/javah
> configure:27595: checking for jar
> configure:27613: found /usr/local/jdk1.7.0_07/bin/jar
> configure:27625: result: /usr/local/jdk1.7.0_07/bin/jar
> configure:27666: checking jni.h usability
> ...
> 
> 
> javac is available in the 64-bit directory.
> 
> tyr openmpi-1.9-SunOS.sparc.64_cc 239 file 
> /usr/local/jdk1.7.0_07/bin/sparcv9/javac
> /usr/local/jdk1.7.0_07/bin/sparcv9/javac:       ELF 64-bit MSB executable 
> SPARCV9
>  Version 1, dynamically linked, not stripped, no debugging information 
> available
> 
> Why does configure still use the 32-bit version?
> 
> tyr openmpi-1.9-SunOS.sparc.64_cc 240 mpijavac -showme
> /usr/local/jdk1.7.0_07/bin/javac -cp ... 
> :.:/usr/local/openmpi-1.9_64_cc/lib64/mpi.jar
> 
> 
> This way I get the following error.
> 
> tyr fd1026 244 mpiexec java -cp $HOME/mpi_classfiles HelloMainWithBarrier
> Exception in thread "main" java.lang.UnsatisfiedLinkError:
>  /.../openmpi-1.9_64_cc/lib64/libmpi_java.so.0.0.0: ld.so.1: java: fatal:
>  /.../openmpi-1.9_64_cc/lib64/libmpi_java.so.0.0.0: wrong ELF class: 
> ELFCLASS64
>  (Possible cause: architecture word width mismatch)
>        at java.lang.ClassLoader$NativeLibrary.load(Native Method)
> ...
> 
> Is something wrong with my configure command? Thank you very much for any help
> in advance.
> 
> 
> Kind regards
> 
> Siegmar
> 
> _______________________________________________
> users mailing list
> us...@open-mpi.org
> http://www.open-mpi.org/mailman/listinfo.cgi/users


Reply via email to