On Mon Aug 20, 2018 at 04:24:07PM +0200, Florian Lindner wrote: > Hello, > > copied from a working MPI CMakeLists.txt: > > find_package(MPI REQUIRED)
https://cmake.org/cmake/help/v3.0/module/FindMPI.html MPI_<lang>_FOUND TRUE if FindMPI found MPI flags for <lang> MPI_<lang>_COMPILER MPI Compiler wrapper for <lang> MPI_<lang>_COMPILE_FLAGS Compilation flags for MPI programs MPI_<lang>_INCLUDE_PATH Include path(s) for MPI header MPI_<lang>_LINK_FLAGS Linking flags for MPI programs MPI_<lang>_LIBRARIES All libraries to link MPI programs against Looks like you forgot <lang>. > include_directories(${MPI_INCLUDE_PATH}) > set(COMPILE_FLAGS ${COMPILE_FLAGS} ${MPI_COMPILE_FLAGS}) > set(LINK_FLAGS ${LINK_FLAGS} ${MPI_LINK_FLAGS}) > > > add_executable(StructureSolverParallel > "StructureSolver_Parallel/structureDataDisplay.cpp" > "StructureSolver_Parallel/StructureSolver.cpp" > "StructureSolver_Parallel/structureComputeSolution.cpp") > > target_link_libraries(StructureSolverParallel PUBLIC ${PRECICE_LIBRARY}) > target_link_libraries(StructureSolverParallel PUBLIC ${MPI_LBRARIES}) > > configuration runs smooth: > > % cmake -DMPI_CXX_COMPILER=/opt/mpich/bin/mpicxx > -DMPI_C_COMPILER=/opt/mpich/bin/mpicc . && make > -- The CXX compiler identification is GNU 8.2.0 > [...] > -- Found MPI_CXX: /opt/mpich/lib/libmpicxx.so (found version "3.1") > -- Found MPI: TRUE (found version "3.1") > > make however: > > [ 69%] Linking CXX executable StructureSolverParallel > /usr/bin/cmake -E cmake_link_script > CMakeFiles/StructureSolverParallel.dir/link.txt --verbose=1 > /usr/bin/c++ -Wall -Wextra -Wno-unused-parameter -g > CMakeFiles/StructureSolverParallel.dir/StructureSolver_Parallel/structureDataDisplay.cpp.o > > CMakeFiles/StructureSolverParallel.dir/StructureSolver_Parallel/StructureSolver.cpp.o > > CMakeFiles/StructureSolverParallel.dir/StructureSolver_Parallel/structureComputeSolution.cpp.o > -o StructureSolverParallel /home/lindnefn/precice/build/last/libprecice.so > /usr/bin/ld: > CMakeFiles/StructureSolverParallel.dir/StructureSolver_Parallel/StructureSolver.cpp.o: > undefined reference to symbol 'MPI_Init' > /usr/bin/ld: /opt/mpich/lib/libmpi.so.12: error adding symbols: DSO missing > from command line > > when I just take the last command line and -lmpi to it, it works. > > What could be missing there in CMakeLists? > > Thanks, > Florian > > -- > > Powered by www.kitware.com > > Please keep messages on-topic and check the CMake FAQ at: > http://www.cmake.org/Wiki/CMake_FAQ > > Kitware offers various services to support the CMake community. For more > information on each offering, please visit: > > CMake Support: http://cmake.org/cmake/help/support.html > CMake Consulting: http://cmake.org/cmake/help/consulting.html > CMake Training Courses: http://cmake.org/cmake/help/training.html > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Follow this link to subscribe/unsubscribe: > https://cmake.org/mailman/listinfo/cmake -- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: https://cmake.org/mailman/listinfo/cmake