PedestrianDynamics / jupedsim

JuPedSim is an open source pedestrian dynamics simulator
http://jupedsim.org
Other
41 stars 28 forks source link

jpsreport, warning during build process on JURECA #805

Closed gjaeger closed 4 years ago

gjaeger commented 4 years ago

When compiling on JURECA (cmake 3.14.0, Boost 1.69.0, Python 3.6.8) I get the following hints for jpsreport:

relating to OpenMP:

./jpscore/jpsreport/Analysis.cpp:319: Warnung: »#pragma omp parallel« wird ignoriert [-Wunknown-pragmas]
 #pragma omp parallel for

./jpscore/jpsreport/Analysis.cpp:344: Warnung: »#pragma omp parallel« wird ignoriert [-Wunknown-pragmas]
 #pragma omp parallel for

./jpscore/jpsreport/Analysis.cpp:367: Warnung: »#pragma omp parallel« wird ignoriert [-Wunknown-pragmas]
 #pragma omp parallel for

./jpscore/jpsreport/Analysis.cpp:391: Warnung: »#pragma omp parallel« wird ignoriert [-Wunknown-pragmas]
 #pragma omp parallel for

./jpscore/jpsreport/Analysis.cpp:420: Warnung: »#pragma omp parallel« wird ignoriert [-Wunknown-pragmas]
 #pragma omp parallel for

./jpscore/jpsreport/Analysis.cpp:449: Warnung: »#pragma omp parallel« wird ignoriert [-Wunknown-pragmas]
 #pragma omp parallel for

relating to Boost and Python:

In file included from /usr/local/software/jureca/Stages/2019a/software/Boost/1.69.0-gpsmpi-2019a.1-Python-3.6.8/include/boost/numeric/ublas/io.hpp:19,
                 from /p/home/jusers/jaeger1/jureca/jpscore/jpsreport/methods/PedData.h:37,
                 from /p/home/jusers/jaeger1/jureca/jpscore/jpsreport/Analysis.h:39,
                 from /p/home/jusers/jaeger1/jureca/jpscore/jpsreport/Analysis.cpp:31:
/usr/local/software/jureca/Stages/2019a/software/Boost/1.69.0-gpsmpi-2019a.1-Python-3.6.8/include/boost/numeric/ublas/matrix_expression.hpp: In Elementfunktion »void boost::numeric::ublas::matrix_binary<E1, E2, F>::const_iterator1::increment(boost::numeric::ublas::sparse_bidirectional_iterator_tag)«:
/usr/local/software/jureca/Stages/2019a/software/Boost/1.69.0-gpsmpi-2019a.1-Python-3.6.8/include/boost/numeric/ublas/matrix_expression.hpp:2224:17: Warnung: diese »if«-Klausel beschützt nicht … [-Wmisleading-indentation]
                 if (it2_ != it2_end_)
                 ^~
/usr/local/software/jureca/Stages/2019a/software/Boost/1.69.0-gpsmpi-2019a.1-Python-3.6.8/include/boost/numeric/ublas/matrix_expression.hpp:2227:21: Anmerkung: … diese Anweisung, aber letztere ist verwirrend eingerückt, als wäre sie abhängig von »if«
                     if (it2_ != it2_end_) {
                     ^~
In file included from /usr/local/software/jureca/Stages/2019a/software/Boost/1.69.0-gpsmpi-2019a.1-Python-3.6.8/include/boost/numeric/ublas/io.hpp:19,
                 from /p/home/jusers/jaeger1/jureca/jpscore/jpsreport/general/../methods/PedData.h:37,
                 from /p/home/jusers/jaeger1/jureca/jpscore/jpsreport/general/../Analysis.h:39,
                 from /p/home/jusers/jaeger1/jureca/jpscore/jpsreport/general/ArgumentParser.cpp:31:
/usr/local/software/jureca/Stages/2019a/software/Boost/1.69.0-gpsmpi-2019a.1-Python-3.6.8/include/boost/numeric/ublas/matrix_expression.hpp: In Elementfunktion »void boost::numeric::ublas::matrix_binary<E1, E2, F>::const_iterator1::increment(boost::numeric::ublas::sparse_bidirectional_iterator_tag)«:
/usr/local/software/jureca/Stages/2019a/software/Boost/1.69.0-gpsmpi-2019a.1-Python-3.6.8/include/boost/numeric/ublas/matrix_expression.hpp:2224:17: Warnung: diese »if«-Klausel beschützt nicht … [-Wmisleading-indentation]
                 if (it2_ != it2_end_)
                 ^~
/usr/local/software/jureca/Stages/2019a/software/Boost/1.69.0-gpsmpi-2019a.1-Python-3.6.8/include/boost/numeric/ublas/matrix_expression.hpp:2227:21: Anmerkung: … diese Anweisung, aber letztere ist verwirrend eingerückt, als wäre sie abhängig von »if«
                     if (it2_ != it2_end_) {
                     ^~
In file included from /usr/local/software/jureca/Stages/2019a/software/Boost/1.69.0-gpsmpi-2019a.1-Python-3.6.8/include/boost/numeric/ublas/io.hpp:19,
                 from /p/home/jusers/jaeger1/jureca/jpscore/jpsreport/methods/PedData.h:37,
                 from /p/home/jusers/jaeger1/jureca/jpscore/jpsreport/methods/PedData.cpp:29:
/usr/local/software/jureca/Stages/2019a/software/Boost/1.69.0-gpsmpi-2019a.1-Python-3.6.8/include/boost/numeric/ublas/matrix_expression.hpp: In Elementfunktion »void boost::numeric::ublas::matrix_binary<E1, E2, F>::const_iterator1::increment(boost::numeric::ublas::sparse_bidirectional_iterator_tag)«:
/usr/local/software/jureca/Stages/2019a/software/Boost/1.69.0-gpsmpi-2019a.1-Python-3.6.8/include/boost/numeric/ublas/matrix_expression.hpp:2224:17: Warnung: diese »if«-Klausel beschützt nicht … [-Wmisleading-indentation]
                 if (it2_ != it2_end_)
                 ^~
/usr/local/software/jureca/Stages/2019a/software/Boost/1.69.0-gpsmpi-2019a.1-Python-3.6.8/include/boost/numeric/ublas/matrix_expression.hpp:2227:21: Anmerkung: … diese Anweisung, aber letztere ist verwirrend eingerückt, als wäre sie abhängig von »if«
                     if (it2_ != it2_end_) {
                     ^~
In file included from /usr/local/software/jureca/Stages/2019a/software/Boost/1.69.0-gpsmpi-2019a.1-Python-3.6.8/include/boost/numeric/ublas/io.hpp:19,
                 from /p/home/jusers/jaeger1/jureca/jpscore/jpsreport/methods/PedData.h:37,
                 from /p/home/jusers/jaeger1/jureca/jpscore/jpsreport/methods/Method_A.h:34,
                 from /p/home/jusers/jaeger1/jureca/jpscore/jpsreport/methods/Method_A.cpp:29:
/usr/local/software/jureca/Stages/2019a/software/Boost/1.69.0-gpsmpi-2019a.1-Python-3.6.8/include/boost/numeric/ublas/matrix_expression.hpp: In Elementfunktion »void boost::numeric::ublas::matrix_binary<E1, E2, F>::const_iterator1::increment(boost::numeric::ublas::sparse_bidirectional_iterator_tag)«:
/usr/local/software/jureca/Stages/2019a/software/Boost/1.69.0-gpsmpi-2019a.1-Python-3.6.8/include/boost/numeric/ublas/matrix_expression.hpp:2224:17: Warnung: diese »if«-Klausel beschützt nicht … [-Wmisleading-indentation]
                 if (it2_ != it2_end_)
                 ^~
/usr/local/software/jureca/Stages/2019a/software/Boost/1.69.0-gpsmpi-2019a.1-Python-3.6.8/include/boost/numeric/ublas/matrix_expression.hpp:2227:21: Anmerkung: … diese Anweisung, aber letztere ist verwirrend eingerückt, als wäre sie abhängig von »if«
                     if (it2_ != it2_end_) {
                     ^~
In file included from /usr/local/software/jureca/Stages/2019a/software/Boost/1.69.0-gpsmpi-2019a.1-Python-3.6.8/include/boost/numeric/ublas/io.hpp:19,
                 from /p/home/jusers/jaeger1/jureca/jpscore/jpsreport/methods/../methods/PedData.h:37,
                 from /p/home/jusers/jaeger1/jureca/jpscore/jpsreport/methods/../Analysis.h:39,
                 from /p/home/jusers/jaeger1/jureca/jpscore/jpsreport/methods/Method_C.h:31,
                 from /p/home/jusers/jaeger1/jureca/jpscore/jpsreport/methods/Method_B.h:32,
                 from /p/home/jusers/jaeger1/jureca/jpscore/jpsreport/methods/Method_B.cpp:29:
/usr/local/software/jureca/Stages/2019a/software/Boost/1.69.0-gpsmpi-2019a.1-Python-3.6.8/include/boost/numeric/ublas/matrix_expression.hpp: In Elementfunktion »void boost::numeric::ublas::matrix_binary<E1, E2, F>::const_iterator1::increment(boost::numeric::ublas::sparse_bidirectional_iterator_tag)«:
/usr/local/software/jureca/Stages/2019a/software/Boost/1.69.0-gpsmpi-2019a.1-Python-3.6.8/include/boost/numeric/ublas/matrix_expression.hpp:2224:17: Warnung: diese »if«-Klausel beschützt nicht … [-Wmisleading-indentation]
                 if (it2_ != it2_end_)
                 ^~
/usr/local/software/jureca/Stages/2019a/software/Boost/1.69.0-gpsmpi-2019a.1-Python-3.6.8/include/boost/numeric/ublas/matrix_expression.hpp:2227:21: Anmerkung: … diese Anweisung, aber letztere ist verwirrend eingerückt, als wäre sie abhängig von »if«
                     if (it2_ != it2_end_) {
                     ^~
In file included from /usr/local/software/jureca/Stages/2019a/software/Boost/1.69.0-gpsmpi-2019a.1-Python-3.6.8/include/boost/numeric/ublas/io.hpp:19,
                 from /p/home/jusers/jaeger1/jureca/jpscore/jpsreport/methods/../methods/PedData.h:37,
                 from /p/home/jusers/jaeger1/jureca/jpscore/jpsreport/methods/../Analysis.h:39,
                 from /p/home/jusers/jaeger1/jureca/jpscore/jpsreport/methods/Method_C.h:31,
                 from /p/home/jusers/jaeger1/jureca/jpscore/jpsreport/methods/Method_C.cpp:29:
/usr/local/software/jureca/Stages/2019a/software/Boost/1.69.0-gpsmpi-2019a.1-Python-3.6.8/include/boost/numeric/ublas/matrix_expression.hpp: In Elementfunktion »void boost::numeric::ublas::matrix_binary<E1, E2, F>::const_iterator1::increment(boost::numeric::ublas::sparse_bidirectional_iterator_tag)«:
/usr/local/software/jureca/Stages/2019a/software/Boost/1.69.0-gpsmpi-2019a.1-Python-3.6.8/include/boost/numeric/ublas/matrix_expression.hpp:2224:17: Warnung: diese »if«-Klausel beschützt nicht … [-Wmisleading-indentation]
                 if (it2_ != it2_end_)
                 ^~
/usr/local/software/jureca/Stages/2019a/software/Boost/1.69.0-gpsmpi-2019a.1-Python-3.6.8/include/boost/numeric/ublas/matrix_expression.hpp:2227:21: Anmerkung: … diese Anweisung, aber letztere ist verwirrend eingerückt, als wäre sie abhängig von »if«
                     if (it2_ != it2_end_) {
                     ^~
In file included from /usr/local/software/jureca/Stages/2019a/software/Boost/1.69.0-gpsmpi-2019a.1-Python-3.6.8/include/boost/numeric/ublas/io.hpp:19,
                 from /p/home/jusers/jaeger1/jureca/jpscore/jpsreport/methods/../methods/PedData.h:37,
                 from /p/home/jusers/jaeger1/jureca/jpscore/jpsreport/methods/../Analysis.h:39,
                 from /p/home/jusers/jaeger1/jureca/jpscore/jpsreport/methods/Method_D.h:31,
                 from /p/home/jusers/jaeger1/jureca/jpscore/jpsreport/methods/Method_D.cpp:29:
/usr/local/software/jureca/Stages/2019a/software/Boost/1.69.0-gpsmpi-2019a.1-Python-3.6.8/include/boost/numeric/ublas/matrix_expression.hpp: In Elementfunktion »void boost::numeric::ublas::matrix_binary<E1, E2, F>::const_iterator1::increment(boost::numeric::ublas::sparse_bidirectional_iterator_tag)«:
/usr/local/software/jureca/Stages/2019a/software/Boost/1.69.0-gpsmpi-2019a.1-Python-3.6.8/include/boost/numeric/ublas/matrix_expression.hpp:2224:17: Warnung: diese »if«-Klausel beschützt nicht … [-Wmisleading-indentation]
                 if (it2_ != it2_end_)
                 ^~
/usr/local/software/jureca/Stages/2019a/software/Boost/1.69.0-gpsmpi-2019a.1-Python-3.6.8/include/boost/numeric/ublas/matrix_expression.hpp:2227:21: Anmerkung: … diese Anweisung, aber letztere ist verwirrend eingerückt, als wäre sie abhängig von »if«
                     if (it2_ != it2_end_) {
                     ^~
In file included from /usr/local/software/jureca/Stages/2019a/software/Boost/1.69.0-gpsmpi-2019a.1-Python-3.6.8/include/boost/numeric/ublas/io.hpp:19,
                 from /p/home/jusers/jaeger1/jureca/jpscore/jpsreport/methods/../methods/PedData.h:37,
                 from /p/home/jusers/jaeger1/jureca/jpscore/jpsreport/methods/../Analysis.h:39,
                 from /p/home/jusers/jaeger1/jureca/jpscore/jpsreport/methods/Method_I.h:31,
                 from /p/home/jusers/jaeger1/jureca/jpscore/jpsreport/methods/Method_I.cpp:29:
/usr/local/software/jureca/Stages/2019a/software/Boost/1.69.0-gpsmpi-2019a.1-Python-3.6.8/include/boost/numeric/ublas/matrix_expression.hpp: In Elementfunktion »void boost::numeric::ublas::matrix_binary<E1, E2, F>::const_iterator1::increment(boost::numeric::ublas::sparse_bidirectional_iterator_tag)«:
/usr/local/software/jureca/Stages/2019a/software/Boost/1.69.0-gpsmpi-2019a.1-Python-3.6.8/include/boost/numeric/ublas/matrix_expression.hpp:2224:17: Warnung: diese »if«-Klausel beschützt nicht … [-Wmisleading-indentation]
                 if (it2_ != it2_end_)
                 ^~
/usr/local/software/jureca/Stages/2019a/software/Boost/1.69.0-gpsmpi-2019a.1-Python-3.6.8/include/boost/numeric/ublas/matrix_expression.hpp:2227:21: Anmerkung: … diese Anweisung, aber letztere ist verwirrend eingerückt, als wäre sie abhängig von »if«
                     if (it2_ != it2_end_) {
                     ^~
In file included from /usr/local/software/jureca/Stages/2019a/software/Boost/1.69.0-gpsmpi-2019a.1-Python-3.6.8/include/boost/numeric/ublas/io.hpp:19,
                 from /p/home/jusers/jaeger1/jureca/jpscore/jpsreport/methods/../methods/PedData.h:37,
                 from /p/home/jusers/jaeger1/jureca/jpscore/jpsreport/methods/../Analysis.h:39,
                 from /p/home/jusers/jaeger1/jureca/jpscore/jpsreport/methods/Method_J.h:31,
                 from /p/home/jusers/jaeger1/jureca/jpscore/jpsreport/methods/Method_J.cpp:29:
/usr/local/software/jureca/Stages/2019a/software/Boost/1.69.0-gpsmpi-2019a.1-Python-3.6.8/include/boost/numeric/ublas/matrix_expression.hpp: In Elementfunktion »void boost::numeric::ublas::matrix_binary<E1, E2, F>::const_iterator1::increment(boost::numeric::ublas::sparse_bidirectional_iterator_tag)«:
/usr/local/software/jureca/Stages/2019a/software/Boost/1.69.0-gpsmpi-2019a.1-Python-3.6.8/include/boost/numeric/ublas/matrix_expression.hpp:2224:17: Warnung: diese »if«-Klausel beschützt nicht … [-Wmisleading-indentation]
                 if (it2_ != it2_end_)
                 ^~
/usr/local/software/jureca/Stages/2019a/software/Boost/1.69.0-gpsmpi-2019a.1-Python-3.6.8/include/boost/numeric/ublas/matrix_expression.hpp:2227:21: Anmerkung: … diese Anweisung, aber letztere ist verwirrend eingerückt, als wäre sie abhängig von »if«
                     if (it2_ != it2_end_) {
                     ^~
In file included from /usr/local/software/jureca/Stages/2019a/software/Boost/1.69.0-gpsmpi-2019a.1-Python-3.6.8/include/boost/numeric/ublas/io.hpp:19,
                 from /p/home/jusers/jaeger1/jureca/jpscore/jpsreport/methods/PedData.h:37,
                 from /p/home/jusers/jaeger1/jureca/jpscore/jpsreport/Analysis.h:39,
                 from /p/home/jusers/jaeger1/jureca/jpscore/jpsreport/main.cpp:32:
/usr/local/software/jureca/Stages/2019a/software/Boost/1.69.0-gpsmpi-2019a.1-Python-3.6.8/include/boost/numeric/ublas/matrix_expression.hpp: In Elementfunktion »void boost::numeric::ublas::matrix_binary<E1, E2, F>::const_iterator1::increment(boost::numeric::ublas::sparse_bidirectional_iterator_tag)«:
/usr/local/software/jureca/Stages/2019a/software/Boost/1.69.0-gpsmpi-2019a.1-Python-3.6.8/include/boost/numeric/ublas/matrix_expression.hpp:2224:17: Warnung: diese »if«-Klausel beschützt nicht … [-Wmisleading-indentation]
                 if (it2_ != it2_end_)
                 ^~
/usr/local/software/jureca/Stages/2019a/software/Boost/1.69.0-gpsmpi-2019a.1-Python-3.6.8/include/boost/numeric/ublas/matrix_expression.hpp:2227:21: Anmerkung: … diese Anweisung, aber letztere ist verwirrend eingerückt, als wäre sie abhängig von »if«
                     if (it2_ != it2_end_) {
                     ^~

The compilation of jpscore and jpsreport is completed without errors (cmake log - make log).

chraibi commented 4 years ago

@bsteinb any idea?

zeroset commented 4 years ago

For the first warnings the reason is that no OpenMP Module is loaded. We could think about suppressing this warning. But for the computation you should load a OpenMP module and recompile everything.

The Boost related warnings should be disabled... I have to check why boost is not marked as system includes...

bsteinb commented 4 years ago

There is no OpenMP module (as in $ module load OpenMP), because OpenMP is included in the compiler. I think the issue here is that the OpenMP::OpenMP_CXX target is not mentioned in the target_link_libraries(report ...) statement in jpsreport/CMakeList.txt (similar to target_link_libraries(core ...) in libcore/CMakeList.txt).

gjaeger commented 4 years ago

In addition, this was my workflow for building from source:

module load CMake
module load GCC
module load ParaStationMPI
module load Boost

mkdir build && cd build

../scripts/setup-deps.sh

cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH=$(pwd)/deps ..

make
bsteinb commented 4 years ago

The Boost warning is due to a bug (not really a bug, more like a rough edge) in EasyBuild which we use to install the modules: https://github.com/easybuilders/easybuild-framework/issues/3331

To work around this, you can do this before building:

$ export CPLUS_INCLUDE_PATH="$CPATH"
$ unset CPATH

Although that does seem like overkill for getting rid of a few warnings.

bsteinb commented 4 years ago

BTW, the make log can be made much more useful by running make VERBOSE=1.