Welcome to www.arepo-code.org › Forums › Arepo forum › The code is not working › compilation error – undefined reference to `ompi_mpi_comm_world’ › Reply To: compilation error – undefined reference to `ompi_mpi_comm_world’
Great you found a way around it.
I also just included a SYSTYPE=”Ubuntu” option in the Makefile, which should also solve your problem using OpenMPI.
The general solution to such a problem is the following (assuming the libraries are installed):
If the compiler does not find e.g. the mpi.h file:
this should find the header of the library, like e.g.
Then, include the path in the compilation, adding it to one of the include options in the Makefile
If the compilation fails at linking, i.e. not finding a function of the library.
E.g. for the mpi library, the library option -lmpi is used, which translates to the library libmpi.so or libmpi.a
The resulting path needs to be included in one of the *_LIB variables in the Makefile
MPICH_LIB = -L/usr/lib/x86_64-linux-gnu/openmpi/lib/ -lmpi
instead of just
MPICH_LIB = -lmpi