Hi,
some time ago I posted a problem about the compilation of the python interface. I suppose the problem is related
to Jkropf’s problem, so i have put it in the same thread (General Python Interface Compilation Problems).
As it did not draw any attention since, so I opened a new thread in the “Bug” section.
Below the original description.
Sorry if this is a repost.
Cheers hansjoerg
I encountered another problem when compiling the python interface plb 0.7r3
mpi compilations seems to run through:
mpicxx -o dummyMain dummyMain.o /home/hansjoerg/Documents/Programming/c++/Palobos/palabos-v0.7r3/lib/libplb_mpi.so
scons: done building targets.
./preprocess shows no errors finishing with
scons: `.’ is up to date.
scons: done building targets.
./postprocess fails with
gcc: /home/hansjoerg/Documents/Programming/c++/Palobos/palabos-v0.7r3//pythonic/src//lib/libplbwrapBlock_int_mpi.so: No such file or directory
the lib directory is empty, and i cannot find the shared libs in the directoy tree
precompile seems to copy the cpp files correctly.
I already applied the above mentioned changes described in the thread if Jkopf.
My machine runs a Ubuntu 10.04 64bit.
I don’t know where to start looking for errors.
carefully, especially the part where it mentions to export the PALABOS_ROOT environment variable. Let me also tell you, that compiling the python interface on Ubuntu has never failed, so it will be fixed in your case also pretty easily.
Have fun with palabos,
Cheers ,
Dimitris
PS There is also a Palabos versio 1.0 online which you might find useful…
Hi,
Thanks a lot for the reply.
I tried again with version 1.0r0 and 1.0r1 and have the same issues (still Ubuntu Lucid).
The preprocess works fine and until swig specializes the modules.
Also the dummyMain is compilled correctly.
The $PALABOS_ROOT directory should also be set correctly
~$ pwd
/home/hansjoerg/Documents/Programming/c++/LatticeBoltzmann/Palobos/palabos-v1.0r1/pythonic/src
~$ echo $PALABOS_ROOT
/home/hansjoerg/Documents/Programming/c++/LatticeBoltzmann/Palobos/palabos-v1.0r1
necessary python libs are installed (dpkg -l info)
Searching for mpi4py
Best match: mpi4py 1.2.2
Processing mpi4py-1.2.2-py2.6-linux-x86_64.egg
mpi4py 1.2.2 is already the active version in easy-install.pth
The scons script runs through without error message, but i think the precompilled libs are not actually compilled.
(make takes some 1-3 min).
Swig-file preparation for module core
Swig-file specialization for module int_block
Swig-file specialization for module double_block
Swig-file specialization for module float_block
Swig-file specialization for module double_d2q9
Swig-file specialization for module float_d2q9
Swig-file specialization for module double_d3q19
Swig-file specialization for module float_d3q19
then the scon compillation starts.
python /home/hansjoerg/Documents/Programming/c++/LatticeBoltzmann/Palobos/palabos-v1.0r1//scons/scons.py -j 4 -f /home/hansjoerg/Documents/Programming/c++/LatticeBoltzmann/Palobos/palabos-v1.0r1//pythonic/src//SConstruct palabosRoot=/home/hansjoerg/Documents/Programming/c++/LatticeBoltzmann/Palobos/palabos-v1.0r1/ pypalRoot=/home/hansjoerg/Documents/Programming/c++/LatticeBoltzmann/Palobos/palabos-v1.0r1//pythonic/src/ optimize=true debug=true profile=false MPIparallel=true serialCXX=g++ parallelCXX=mpicxx compileFlags="" optimFlags="-O3" debugFlags="-g" profileFlags="-pg" includePaths="/usr/lib64/python2.6/dist-packages/numpy/core/include/" linkFlags=""
scons: Reading SConscript files …
scons: done reading SConscript files.
scons: Building targets …
scons: `.’ is up to date.
scons: done building targets.
No errormessage until now.
bash ./postprocess
gcc: /home/hansjoerg/Documents/Programming/c++/LatticeBoltzmann/Palobos/palabos-v1.0r1//pythonic/src//lib/libplbwrapBlock_int_mpi.so:
The pythonic/src/lib/ directory is empty, so the linking in postprocess fails.
How can i find out the problems in the compillation of the specialized libraries?
No errormessage until now.
bash ./postprocess
gcc:
/home/hansjoerg/Documents/Programming/c++/LatticeB
oltzmann/Palobos/palabos-v1.0r1//pythonic/src//lib
/libplbwrapBlock_int_mpi.so:
The pythonic/src/lib/ directory is empty, so the
linking in postprocess fails.
Did you launched the postprocess script by hand? You shouldn’t. Do you still have the problem?
Hi,
thanks a lto for the reply. I first tried to compile the python interface with a simple make. After that did not work out I looked at the single steps in the Makefile executing the single steps by hand step by step.
everything in preprocess works fine (cut’n paste the content to the shell)
The line ~/>python $(SCons) $(SConsArgs) I suppose should actually compile the specialized libs. executing the following:
which looks fine for me.
What makes me suspicious is that this compillation is that this step is quite fast (some sec.)
and finishes without error message:
scons: Reading SConscript files …
scons: done reading SConscript files.
scons: Building targets …
scons: `.’ is up to date.
scons: done building targets.
but actually it does not produce any shared libraries *.so:
~/>find -iname *.so does not return any result after executing scon.
I executed postprocess by hand, as it relies on the *.so files generated during the compillation process invoked by scons it fails with “libplbwrapBlock_int_mpi.so: No such file or directory” …
I could not figure out how scon invokes the compiller to try this step manually. The c++ test cases and showCases work fine (serial and parallel)
One additional information. I just found the Bug report by oilsok and executed the compillation line for the
“smagorinksyDynamics2D.os” by hand after adjusting the paths from the post to my system.
compillation from
smagorinksyDynamics2D.cpp -> smagorinksyDynamics2D.os
works fine. It really seems that my scons does not invoke any compillation process.
when I install the Palabos-Python interface to work, I have install all required, but when change into src/
error is as follows:
think@ubuntu:~/palabos-v1.2r0/pythonic/src$ make
cd compilePalabos; make
make[1]: Entering directory /home/think/palabos-v1.2r0/pythonic/src/compilePalabos' python /home/think/palabos-v1.2r0/pythonic/src/compilePalabos/../../..//scons/scons.py -j 2 -f /home/think/palabos-v1.2r0/pythonic/src/compilePalabos/../../..//SConstruct palabosRoot=/home/think/palabos-v1.2r0/pythonic/src/compilePalabos/../../../ 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, -Wall -Wnon-virtual-dtor " linkFlags="" optimFlags="-O3" debugFlags="-g" profileFlags="-pg" libraryPaths="" includePaths="" 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 /home/think/palabos-v1.2r0/pythonic/src/compilePalabos' bash ./preprocess ./preprocess: line 3: pushd: /pythonic/src//swig: No such file or directory Swig-file preparation for module core ./preprocess: line 6: cd: core: No such file or directory ./preprocess: line 10: pre_processed/*.i: No such file or directory ./preprocess: line 9: *.i: No such file or directory ./preprocess: line 14: cd: block: No such file or directory Swig-file specialization for module int_block ./preprocess: line 21: int/*.i: No such file or directory ./preprocess: line 18: *.i: No such file or directory Swig-file specialization for module double_block ./preprocess: line 29: double/*.i: No such file or directory ./preprocess: line 26: *.i: No such file or directory Swig-file specialization for module float_block ./preprocess: line 34: *.i: No such file or directory ./preprocess: line 37: float/*.i: No such file or directory ./preprocess: line 42: cd: blockLattice2d: No such file or directory Swig-file specialization for module double_d2q9 ./preprocess: line 46: *.i: No such file or directory ./preprocess: line 50: double_d2q9/*.i: No such file or directory Swig-file specialization for module float_d2q9 ./preprocess: line 55: *.i: No such file or directory ./preprocess: line 59: float_d2q9/*.i: No such file or directory ./preprocess: line 64: cd: fluid2d: No such file or directory Swig-file specialization for module double_d2q9_fluid ./preprocess: line 68: *.i: No such file or directory ./preprocess: line 72: double_d2q9_fluid/*.i: No such file or directory Swig-file specialization for module float_d2q9_fluid ./preprocess: line 77: *.i: No such file or directory ./preprocess: line 81: float_d2q9_fluid/*.i: No such file or directory ./preprocess: line 86: cd: blockLattice3d: No such file or directory Swig-file specialization for module double_d3q19 ./preprocess: line 90: *.i: No such file or directory ./preprocess: line 94: double_d3q19/*.i: No such file or directory Swig-file specialization for module float_d3q19 ./preprocess: line 99: *.i: No such file or directory ./preprocess: line 103: float_d3q19/*.i: No such file or directory Swig-file specialization for module double_d3q7_ad ./preprocess: line 108: *.i: No such file or directory ./preprocess: line 112: double_d3q7_ad/*.i: No such file or directory Swig-file specialization for module float_d3q7_ad ./preprocess: line 117: *.i: No such file or directory ./preprocess: line 121: float_d3q7_ad/*.i: No such file or directory ./preprocess: line 126: cd: fluid3d: No such file or directory Swig-file specialization for module double_d3q19_fluid ./preprocess: line 130: *.i: No such file or directory ./preprocess: line 134: double_d3q19_fluid/*.i: No such file or directory Swig-file specialization for module float_d3q19_fluid ./preprocess: line 143: float_d3q19_fluid/*.i: No such file or directory ./preprocess: line 139: *.i: No such file or directory ./preprocess: line 148: cd: advectionDiffusion3d: No such file or directory Swig-file specialization for module double_d3q7_advectionDiffusion ./preprocess: line 152: *.i: No such file or directory ./preprocess: line 156: double_d3q7_advectionDiffusion/*.i: No such file or directory Swig-file specialization for module float_d3q7_advectionDiffusion ./preprocess: line 161: *.i: No such file or directory ./preprocess: line 165: float_d3q7_advectionDiffusion/*.i: No such file or directory ./preprocess: line 170: popd: directory stack empty /bin/cp: cannot stat/pythonic/src//precompiled/floatOnly/.cpp’: No such file or directory
/bin/cp: cannot stat /pythonic/src//precompiled/floatOnly/*.cpp': No such file or directory /bin/cp: cannot stat/pythonic/src//precompiled/intOrFloat/.cpp’: No such file or directory
/bin/cp: cannot stat /pythonic/src//precompiled/intOrFloat/*.cpp': No such file or directory /bin/cp: cannot stat/pythonic/src//precompiled/intOrFloat/.cpp’: No such file or directory
/bin/cp: cannot stat /pythonic/src//precompiled/lattice/*.cpp': No such file or directory /bin/cp: cannot stat/pythonic/src//precompiled/lattice/.cpp’: No such file or directory
/bin/cp: cannot stat /pythonic/src//precompiled/lattice/*.cpp': No such file or directory /bin/cp: cannot stat/pythonic/src//precompiled/lattice/.cpp’: No such file or directory
/bin/cp: cannot stat /pythonic/src//precompiled/lattice/*.cpp': No such file or directory /bin/cp: cannot stat/pythonic/src//precompiled/lattice/.cpp’: No such file or directory
/bin/cp: cannot stat /pythonic/src//plbWrapper/block/*.cpp': No such file or directory /bin/cp: cannot stat/pythonic/src//plbWrapper/block/.cpp’: No such file or directory
/bin/cp: cannot stat /pythonic/src//plbWrapper/block/*.cpp': No such file or directory /bin/cp: cannot stat/pythonic/src//plbWrapper/lattice/.cpp’: No such file or directory
/bin/cp: cannot stat /pythonic/src//plbWrapper/lattice/*.cpp': No such file or directory /bin/cp: cannot stat/pythonic/src//plbWrapper/lattice/.cpp’: No such file or directory
/bin/cp: cannot stat /pythonic/src//plbWrapper/lattice/*.cpp': No such file or directory /bin/cp: cannot stat/pythonic/src//plbWrapper/lattice/.cpp’: No such file or directory
/bin/cp: cannot stat `/pythonic/src//plbWrapper/lattice/*.cpp’: No such file or directory
make: *** [compilation] Error 1
think@ubuntu:~/palabos-v1.2r0/pythonic/src$ make
cd compilePalabos; make
make[1]: Entering directory /home/think/palabos-v1.2r0/pythonic/src/compilePalabos' python /home/think/palabos-v1.2r0/pythonic/src/compilePalabos/../../..//scons/scons.py -j 2 -f /home/think/palabos-v1.2r0/pythonic/src/compilePalabos/../../..//SConstruct palabosRoot=/home/think/palabos-v1.2r0/pythonic/src/compilePalabos/../../../ 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, -Wall -Wnon-virtual-dtor " linkFlags="" optimFlags="-O3" debugFlags="-g" profileFlags="-pg" libraryPaths="" includePaths="" 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 /home/think/palabos-v1.2r0/pythonic/src/compilePalabos' bash ./preprocess ./preprocess: line 3: pushd: /pythonic/src//swig: No such file or directory Swig-file preparation for module core ./preprocess: line 6: cd: core: No such file or directory ./preprocess: line 9: *.i: No such file or directory ./preprocess: line 10: pre_processed/*.i: No such file or directory ./preprocess: line 14: cd: block: No such file or directory Swig-file specialization for module int_block ./preprocess: line 21: int/*.i: No such file or directory ./preprocess: line 18: *.i: No such file or directory Swig-file specialization for module double_block ./preprocess: line 29: double/*.i: No such file or directory ./preprocess: line 26: *.i: No such file or directory Swig-file specialization for module float_block ./preprocess: line 37: float/*.i: No such file or directory ./preprocess: line 34: *.i: No such file or directory ./preprocess: line 42: cd: blockLattice2d: No such file or directory Swig-file specialization for module double_d2q9 ./preprocess: line 50: double_d2q9/*.i: No such file or directory ./preprocess: line 46: *.i: No such file or directory Swig-file specialization for module float_d2q9 ./preprocess: line 59: float_d2q9/*.i: No such file or directory ./preprocess: line 55: *.i: No such file or directory ./preprocess: line 64: cd: fluid2d: No such file or directory Swig-file specialization for module double_d2q9_fluid ./preprocess: line 68: *.i: No such file or directory ./preprocess: line 72: double_d2q9_fluid/*.i: No such file or directory Swig-file specialization for module float_d2q9_fluid ./preprocess: line 77: *.i: No such file or directory ./preprocess: line 81: float_d2q9_fluid/*.i: No such file or directory ./preprocess: line 86: cd: blockLattice3d: No such file or directory Swig-file specialization for module double_d3q19 ./preprocess: line 94: double_d3q19/*.i: No such file or directory ./preprocess: line 90: *.i: No such file or directory Swig-file specialization for module float_d3q19 ./preprocess: line 99: *.i: No such file or directory ./preprocess: line 103: float_d3q19/*.i: No such file or directory Swig-file specialization for module double_d3q7_ad ./preprocess: line 108: *.i: No such file or directory ./preprocess: line 112: double_d3q7_ad/*.i: No such file or directory Swig-file specialization for module float_d3q7_ad ./preprocess: line 117: *.i: No such file or directory ./preprocess: line 121: float_d3q7_ad/*.i: No such file or directory ./preprocess: line 126: cd: fluid3d: No such file or directory Swig-file specialization for module double_d3q19_fluid ./preprocess: line 130: *.i: No such file or directory ./preprocess: line 134: double_d3q19_fluid/*.i: No such file or directory Swig-file specialization for module float_d3q19_fluid ./preprocess: line 139: *.i: No such file or directory ./preprocess: line 143: float_d3q19_fluid/*.i: No such file or directory ./preprocess: line 148: cd: advectionDiffusion3d: No such file or directory Swig-file specialization for module double_d3q7_advectionDiffusion ./preprocess: line 156: double_d3q7_advectionDiffusion/*.i: No such file or directory ./preprocess: line 152: *.i: No such file or directory Swig-file specialization for module float_d3q7_advectionDiffusion ./preprocess: line 165: float_d3q7_advectionDiffusion/*.i: No such file or directory ./preprocess: line 161: *.i: No such file or directory ./preprocess: line 170: popd: directory stack empty /bin/cp: cannot stat/pythonic/src//precompiled/floatOnly/.cpp’: No such file or directory
/bin/cp: cannot stat /pythonic/src//precompiled/floatOnly/*.cpp': No such file or directory /bin/cp: cannot stat/pythonic/src//precompiled/intOrFloat/.cpp’: No such file or directory
/bin/cp: cannot stat /pythonic/src//precompiled/intOrFloat/*.cpp': No such file or directory /bin/cp: cannot stat/pythonic/src//precompiled/intOrFloat/.cpp’: No such file or directory
/bin/cp: cannot stat /pythonic/src//precompiled/lattice/*.cpp': No such file or directory /bin/cp: cannot stat/pythonic/src//precompiled/lattice/.cpp’: No such file or directory
/bin/cp: cannot stat /pythonic/src//precompiled/lattice/*.cpp': No such file or directory /bin/cp: cannot stat/pythonic/src//precompiled/lattice/.cpp’: No such file or directory
/bin/cp: cannot stat /pythonic/src//precompiled/lattice/*.cpp': No such file or directory /bin/cp: cannot stat/pythonic/src//precompiled/lattice/.cpp’: No such file or directory
/bin/cp: cannot stat /pythonic/src//plbWrapper/block/*.cpp': No such file or directory /bin/cp: cannot stat/pythonic/src//plbWrapper/block/.cpp’: No such file or directory
/bin/cp: cannot stat /pythonic/src//plbWrapper/block/*.cpp': No such file or directory /bin/cp: cannot stat/pythonic/src//plbWrapper/lattice/.cpp’: No such file or directory
/bin/cp: cannot stat /pythonic/src//plbWrapper/lattice/*.cpp': No such file or directory /bin/cp: cannot stat/pythonic/src//plbWrapper/lattice/.cpp’: No such file or directory
/bin/cp: cannot stat /pythonic/src//plbWrapper/lattice/*.cpp': No such file or directory /bin/cp: cannot stat/pythonic/src//plbWrapper/lattice/.cpp’: No such file or directory
/bin/cp: cannot stat `/pythonic/src//plbWrapper/lattice/*.cpp’: No such file or directory
make: *** [compilation] Error 1