Compile error on Suse12.1

I am using OpenSuse 12.1. I got an error on compile to palabos even the case of tutorials.
Do I have to downgrade the OpenSuse? Please let me know what I do.

[code=“make”]
python /home/user/PALABOS/palabos-v0.7r3/scons/scons.py -f /home/user/PALABOS/palabos-v0.7r3/SConstruct palabosRoot=/home/user/PALABOS/palabos-v0.7r3 projectFiles=“IONBETTERY_GAP5_CA50.cpp” optimize=true debug=false profile=false MPIparallel=false SMPparallel=false usePOSIX=true useCVMLCPP=false serialCXX=g++ parallelCXX=mpicxx compileFlags="" linkFlags="" optimFlags="-O3" debugFlags="-g" profileFlags="-pg" libraryPaths="" includePaths="" libraries=""
scons: Reading SConscript files …
scons: done reading SConscript files.
scons: Building targets …
g++ -o tutorial_1_1.o -c -O3 -DPLB_USE_POSIX -I/home/user/PALABOS/palabos-v0.7r3/src -I/home/user/PALABOS/palabos-v0.7r3/externalLibraries tutorial_1_1.cpp
In file included from /home/user/PALABOS/palabos-v0.7r3/src/palabos2D.h:21:0,
from tutorial_1_1.cpp:30:
/home/user/PALABOS/palabos-v0.7r3/src/core/globalDefs.h:40:9: error: ‘ptrdiff_t’ does not name a type
In file included from /home/user/PALABOS/palabos-v0.7r3/src/core/dynamics.h:29:0,
from /home/user/PALABOS/palabos-v0.7r3/src/parallelism/parallelDynamics.h:29,
from /home/user/PALABOS/palabos-v0.7r3/src/parallelism/headers2D.h:26,
from /home/user/PALABOS/palabos-v0.7r3/src/palabos2D.h:22,
from IONBETTERY_GAP5_CA50.cpp:30:
/home/user/PALABOS/palabos-v0.7r3/src/core/util.h:48:8: error: ‘plint’ does not name a type
/home/user/PALABOS/palabos-v0.7r3/src/core/util.h:69:1: error: ‘plint’ does not name a type
/home/user/PALABOS/palabos-v0.7r3/src/core/util.h:76:8: error: ‘plint’ does not name a type
/home/user/PALABOS/palabos-v0.7r3/src/core/util.h:86:8: error: ‘plint’ does not name a type
/home/user/PALABOS/palabos-v0.7r3/src/core/util.h:212:31: error: variable or field ‘linearRepartition’ declared void
/home/user/PALABOS/palabos-v0.7r3/src/core/util.h:212:31: error: ‘plint’ was not declared in this scope
/home/user/PALABOS/palabos-v0.7r3/src/core/util.h:212:41: error: ‘plint’ was not declared in this scope
/home/user/PALABOS/palabos-v0.7r3/src/core/util.h:212:51: error: ‘plint’ was not declared in this scope
/home/user/PALABOS/palabos-v0.7r3/src/core/util.h:213:53: error: ‘plint’ was not declared in this scope
/home/user/PALABOS/palabos-v0.7r3/src/core/util.h:213:59: error: ‘plint’ was not declared in this scope
/home/user/PALABOS/palabos-v0.7r3/src/core/util.h:213:64: error: template argument 1 is invalid
/home/user/PALABOS/palabos-v0.7r3/src/core/util.h:213:64: error: template argument 2 is invalid
/home/user/PALABOS/palabos-v0.7r3/src/core/util.h:213:66: error: template argument 1 is invalid
/home/user/PALABOS/palabos-v0.7r3/src/core/util.h:213:66: error: template argument 2 is invalid
/home/user/PALABOS/palabos-v0.7r3/src/core/util.h:213:69: error: ‘ranges’ was not declared in this scope
In file included from /home/user/PALABOS/palabos-v0.7r3/src/algorithm/basicDataTypes.h:26:0,
from /home/user/PALABOS/palabos-v0.7r3/src/algorithm/headers2D.h:28,
from /home/user/PALABOS/palabos-v0.7r3/src/palabos2D.h:33,
from IONBETTERY_GAP5_CA50.cpp:30:
/usr/include/c++/4.6/typeinfo:42:37: error: expected ‘}’ before end of line
/usr/include/c++/4.6/typeinfo:42:37: error: expected ‘}’ before end of line
/usr/include/c++/4.6/typeinfo:42:37: error: expected declaration before end of line
scons: *** [IONBETTERY_GAP5_CA50.o] Error 1
scons: building terminated because of errors.
make: *** [compile] Error 2


[edit: use formated code tag]

naltang Wrote:

I am using OpenSuse 12.1. I got an error on
compile to palabos even the case of tutorials.
Do I have to downgrade the OpenSuse? Please let me
know what I do.

No, you don’t have to downgrade OpenSuse, but instead upgrade your Palabos copy to the latest version.

Thank you yann.
As you suggested, I copied Palabos v1.1. But I still have a compilation error. I tested with example of cavity2d. The error is as follows. I wonder whether it is an incompatibilty with OpenSuse12.1 or I lost any files. Plz help me. Thank you.

user@linux:~/PALABOS/palabos-v1.1r0/examples/showCases/cavity2d> make
python /home/user/PALABOS/palabos-v1.1r0/scons/scons.py -j 2 -f /home/user/PALABOS/palabos-v1.1r0/SConstruct palabosRoot=/home/user/PALABOS/palabos-v1.1r0 projectFiles=“cavity2d.cpp” optimize=true debug=false profile=false MPIparallel=true SMPparallel=false usePOSIX=true serialCXX=g++ parallelCXX=mpicxx compileFlags="-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 …
mpicxx -o cavity2d.o -c -Wall -Wnon-virtual-dtor -O3 -DPLB_MPI_PARALLEL -DPLB_USE_POSIX -I/home/user/PALABOS/palabos-v1.1r0/src -I/home/user/PALABOS/palabos-v1.1r0/externalLibraries cavity2d.cpp
In file included from /home/user/PALABOS/palabos-v1.1r0/src/palabos2D.h:25:0,
from cavity2d.cpp:33:
/home/user/PALABOS/palabos-v1.1r0/src/core/globalDefs.h:32:17: fatal error: mpi.h: No such file or directory
compilation terminated.
scons: *** [cavity2d.o] Error 1
mpicxx -o /home/user/PALABOS/palabos-v1.1r0/src/dataProcessors/metaStuffWrapper2D.o -c -Wall -Wnon-virtual-dtor -O3 -DPLB_MPI_PARALLEL -DPLB_USE_POSIX -I/home/user/PALABOS/palabos-v1.1r0/src -I/home/user/PALABOS/palabos-v1.1r0/externalLibraries /home/user/PALABOS/palabos-v1.1r0/src/dataProcessors/metaStuffWrapper2D.cpp
In file included from /home/user/PALABOS/palabos-v1.1r0/src/dataProcessors/metaStuffWrapper2D.h:31:0,
from /home/user/PALABOS/palabos-v1.1r0/src/dataProcessors/metaStuffWrapper2D.cpp:25:
/home/user/PALABOS/palabos-v1.1r0/src/core/globalDefs.h:32:17: fatal error: mpi.h: No such file or directory
compilation terminated.
scons: *** [/home/user/PALABOS/palabos-v1.1r0/src/dataProcessors/metaStuffWrapper2D.o] Error 1
scons: building terminated because of errors.
make: *** [compile] Error 2

Hi,

It looks like MPI is not properly installed on your system. As you can see from the log, the source code is compiled, exactly as it should be, with the MPI wrapper “mpicxx”. But then, the MPI header file is not found (“mpi.h: No such file or directory”). It seems to me that such an error should never occur in an environment with a properly installed version of MPI.

It might be that you have to install additionnal MPI stuff (such as, intall “MPI development files” additionally to “MPI runtime libraries”). It is also possible that you are experiencing a conflict between two different installed MPI environments, or anything else. In any case, the thing to do is to play with your installation of MPI.

Cheers,
Jonas

Thanks Jonas.
After installing MPI stuff, palabos-v1.1 is working now.

However palabos-v0.7 is repeating the same error.

  1. Is this because palabos-v0.7 is incompatible on SUSE 12.1?
  2. If not, What is not properly installed?
    Since my LBM code was built on palabos-v0.7r3, I have to downgrade the SUSE in case that palabos-v0.7 is not working on SUSE 12.1. Please let me know. The error is as follows. Thank you.

user@linux:~/PALABOS/palabos-v0.7r3/examples/tutorial/tutorial_1> make
[edited by moderator: same error as initial post]

Hello Naltang,

As you can guess, we don’t know if Palabos is compatible with a special distribution/version of *nix!

If you really need to use version 0.7, my advice would be that you try to install an older version of GCC such as 4.4 (as it seems that you have version 4.6.x).

If that doesn’t work, it’s not a big deal anyway to use the latest version of Palabos with your code as we haven’t “breaked” many things. release note version 1.0