First time here? Checkout the FAQ!
x
0 votes
by (230 points)

Dear openCARP community,

I am trying to install openCARP on a supercomputer, I have followed the tips given here and also on the openCARP installation website. I believe I have all the modules needed:

module purge
module load numlib/petsc/3.13.4-gnu-10.2-openmpi-4.0
module load numlib/python_scipy/1.5.2_numpy_1.19.1_python_3.8.6_gnu_10.2
module load devel/cmake/3.18
module load compiler/gnu/8.3.1
module load mpi/openmpi/4.0

However the compilation terminates at 13% with a fatal error:

[ 13%] Building CXX object numerics/CMakeFiles/numerics.dir/basics.cc.o
In file included from /home/kit/ibt/yw3537/openCARP2022/numerics/basics.cc:27:
/home/kit/ibt/yw3537/openCARP2022/numerics/basics.h:39:10: fatal error: mpi.h: No such file or directory
 #include <mpi.h>
          ^~~~~~~
compilation terminated.
gmake[2]: *** [numerics/CMakeFiles/numerics.dir/build.make:82: numerics/CMakeFiles/numerics.dir/basics.cc.o] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:488: numerics/CMakeFiles/numerics.dir/all] Error 2
gmake: *** [Makefile:171: all] Error 2

Any ideas on how I could fix this error? Many thanks.

Patricia

by (610 points)
I have tried to compile openCARP on the BWUniCluster and got the same result.

The problem is that the cmake does not find the MPI libraries at the configuration. When I change the `find_package(MPI)` to `find_package(MPI REQUIRED)` in the `CMakeLists.txt:24` than it fails already at the configuration.

Then I have tried to add `PATHS` to the `find_package` and `APPEND` to the list `CMAKE_MODULE_PATH` with the environmental variable `$MPIDIR` (which is `/opt/bwhpc/common/mpi/openmpi/4.0.5-gnu-10.2`) and its subdirectories, but without a success.

1 Answer

0 votes
by (19.1k points)
Which include directories are given to the compiler? You should be able to see this either by looking in the CMakeCache.txt file(s) or by running ccmake instead of cmake
by (230 points)
I look at the CMakeCache.txt and I found this:     include_directories(${LLVM_INCLUDE_DIRS})
    include_directories(${MLIR_INCLUDE_DIRS}), but they are not defined in the file itself. I purged the modules and load them again and now the problem with mpi is fixed:

Currently Loaded Modules:

1) mpi/openmpi/4.0                                                        
2) numlib/petsc/3.13.4-gnu-10.2-openmpi-4.0
3) compiler/gnu/10.2
4) devel/python/3.8.6_gnu_10.2
5) numlib/python_numpy/1.19.1_python_3.8.6_gnu_10.2
6) numlib/python_scipy/1.5.2_numpy_1.19.1_python_3.8.6_gnu_10.2
7) devel/cmake/3.18  

Now I have another error with a module:

/opt/bwhpc/common/mpi/openmpi/4.0.5-gnu-10.2/lib64/libfabric.so.1: undefined reference to `rdma_establish@RDMACM_1.0'  
collect2: error: ld returned 1 exit status
Welcome to openCARP Q&A. Ask questions and receive answers from other members of the community. For best support, please use appropriate TAGS!
architecture, carputils, documentation, experiments, installation-containers-packages, limpet, slimfem, website, governance
MathJax.Hub.Config({ tex2jax: { inlineMath: [ ['$','$'], ["\\(","\\)"] ], config: ["MMLorHTML.js"], jax: ["input/TeX"], processEscapes: true } }); MathJax.Hub.Config({ "HTML-CSS": { linebreaks: { automatic: true } } });
...