I tried to test the Jlabos toolkit on a machine that does not contain Jlabos installation …
I managed to compile the examples .jar files using scons compilor…
I want that the generated jar files would be a machine independent binary… meaning, it could executed on another machine provided we specify the .so dependencies …
machine where Jlabos is installed: /home/benbelgacem/palabosjlabos/palabos-v1.0r1
machine without jlabos installation: /home/mohamed/
ls /home/mohamed/muscle_mpi/plb
drwxrwxr-x 2 mohamed mohamed 4096 Jan 6 10:22 jlabos
-rwxrwxr-x 1 mohamed mohamed 7661 Jan 6 10:23 lib_core.so
-rwxrwxr-x 1 mohamed mohamed 7661 Jan 6 10:23 lib_double_block.so
-rwxrwxr-x 1 mohamed mohamed 7661 Jan 6 10:23 lib_double_d2q9.so
-rwxrwxr-x 1 mohamed mohamed 7661 Jan 6 10:23 lib_double_d3q19.so
-rwxrwxr-x 1 mohamed mohamed 7661 Jan 6 10:23 lib_float_block.so
-rwxrwxr-x 1 mohamed mohamed 7661 Jan 6 10:23 lib_float_d2q9.so
-rwxrwxr-x 1 mohamed mohamed 7661 Jan 6 10:23 lib_float_d3q19.so
-rwxrwxr-x 1 mohamed mohamed 7661 Jan 6 10:23 lib_int_block.so
-rw-rw-r-- 1 mohamed mohamed 19116266 Jan 6 11:37 libplb_mpi.a
-rwxrwxr-x 1 mohamed mohamed 2346049 Jan 6 11:37 libplb_mpi.so
This a print stack of such execution:
Exception in thread “main” java.lang.UnsatisfiedLinkError: /home/mohamed/muscle_mpi/plb/lib_core.so: /home/benbelgacem/palabosjlabos/palabos-v1.0r1/lib/libplb_mpi.so: cannot open shared object file: No such file or directory
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1807)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1732)
at java.lang.Runtime.loadLibrary0(Runtime.java:823)
at java.lang.System.loadLibrary(System.java:1028)
at jlabos.JlabosBase.(JlabosBase.java:7)
at jlabos.JlabosBase.getSingletonObject(JlabosBase.java:26)
at Cavity2d.O_i(Cavity2d.java:96)
at Cavity2d.execute(Cavity2d.java:61)
at muscle.core.kernel.RawKernel.executeDirectly(RawKernel.java:295)
at utilities.MpiSlaveKernelExecutor.main(MpiSlaveKernelExecutor.java:23)
It seems that some Call of System.LoasLibrary(…) is hardcoded and is related to the compilation (/home/benbelgacem/palabosjlabos/palabos-v1.0r1/lib/libplb_mpi.so: cannot open shared object file)
I don’t have sudo privileges on the cluster (Scientific linux) where i want to run the example & LD_LIBRARY_PATH does not resolve the pb. However, i was obliged to modify a bit the postprocess.sh script and recompile the code since scientific linux throws “ELF file OS ABI invalid” issue related to a shared libraries compiled with ubuntu 64.
mpirun noticed that process rank 2 with PID 26040 on node grass1.man.poznan.pl exited on signal 6 (Aborted).
dx : 0.0033333333333333335
nu : 0.06
tau : 0.6799999999999999
301
301
Internal structure of the 301-by-301 multi-block:
Number of blocks in multi-block:4
Smallest atomic-block: [151,300, 151,300]
Largest atomic-block: [0,150, 0,150]
Number of allocated cells: 0.090601million
Percentage of allocated cells in multi-block: 100.0
Before trying to compile a fresh copy of jlabos svn on a cluster where i don’t have sudo previligies, I
[ul]
[li] …
[/li][li] …
[/li][/ul]
installed local swig
added the path to java linux include in the file. ~JLABOSS_HOME/src/MakeFile : includePaths = /usr/java/jdk1.6.0_29/include/ /usr/java/jdk1.6.0_29/include/linux/
Called make
The execution trace is:
cd compilePalabos; make
make[1]: Entering directory /mnt/auto/people/plgmohamed/plb/trunk/jlabos/src/compilePalabos' python /people/plgmohamed/plb/palabos-v1.0r1//scons/scons.py -j 4 -f /people/plgmohamed/plb/palabos-v1.0r1//SConstruct palabosRoot=/people/plgmohamed/plb/palabos-v1.0r1/ projectFiles="dummyMain.cpp" precompiled=true optimize=true debug=false profile=false MPIparallel=true SMPparallel=false usePOSIX=true serialCXX=g++ parallelCXX=mpicxx dynamicLibrary=true compileFlags="-Wl,--no-as-needed -Wl,-Bsymbolic -pthread" linkFlags="-Wl,-Bsymbolic -pthread" optimFlags="-O3" debugFlags="-g" profileFlags="-pg" libraryPaths="" includePaths="/usr/lib/jvm/java-6-openjdk/include/" libraries="" scons: Reading SConscript files ... scons: done reading SConscript files. scons: Building targets ... scons:.’ is up to date.
scons: done building targets.
make[1]: Leaving directory `/mnt/auto/people/plgmohamed/plb/trunk/jlabos/src/compilePalabos’
bash ./preprocess /people/plgmohamed/plb/trunk/jlabos/src
~/plb/trunk/jlabos/src/swig ~/plb/trunk/jlabos/src
Swig-file preparation for module core
./preprocess: line 12: java_heap.i: No such file or directory
…