richdem icon indicating copy to clipboard operation
richdem copied to clipboard

cmake 3.22.1: MPI not found; will not compile parallel programs for large-scale datasets.

Open SomePersonSomeWhereInTheWorld opened this issue 2 years ago • 1 comments

The library that is packaged with WTM is throwing the below errors with OpenMPI 4.1.1 and cmake 3.22.1 on RHEL 8.

-- Found PETSc 3.18.0
   Called from: [1]	/path/to/WTM/CMakeLists.txt
   Entering             /path/to/WTM/common/richdem
   Called from: [1]	/path/to/WTM/CMakeLists.txt
-- Found OpenMP_CXX: -Xpreprocessor -fopenmp /path/to/openmpi-4.1.1_ucx_cuda_11.0.3_support/lib/libmpi.so.40.30.1 -I/path/to/openmpi-4.1.1_ucx_cuda_11.0.3_support/include (found version "4.5") 
   Called from: [4]	/path/to/cmake/cmake-3.22.1-linux-x86_64/share/cmake-3.22/Modules/FindPackageMessage.cmake
                [3]	/path/to/cmake/cmake-3.22.1-linux-x86_64/share/cmake-3.22/Modules/FindPackageHandleStandardArgs.cmake
                [2]	/path/to/cmake/cmake-3.22.1-linux-x86_64/share/cmake-3.22/Modules/FindOpenMP.cmake
                [1]	/path/to/WTM/common/richdem/CMakeLists.txt
CMake Warning (dev) at /path/to/cmake/cmake-3.22.1-linux-x86_64/share/cmake-3.22/Modules/FindMPI.cmake:1198 (set):
  Policy CMP0126 is not set: set(CACHE) does not remove a normal variable of
  the same name.  Run "cmake --help-policy CMP0126" for policy details.  Use
  the cmake_policy command to set the policy and suppress this warning.

  For compatibility with older versions of CMake, normal variable
  "MPI_CXX_ADDITIONAL_INCLUDE_DIRS" will be removed from the current scope.
Call Stack (most recent call first):
  /path/to/cmake/cmake-3.22.1-linux-x86_64/share/cmake-3.22/Modules/FindMPI.cmake:1627 (_MPI_split_include_dirs)
  common/richdem/CMakeLists.txt:13 (find_package)
This warning is for project developers.  Use -Wno-dev to suppress it.

   Called from: [3]	/path/to/cmake/cmake-3.22.1-linux-x86_64/share/cmake-3.22/Modules/FindMPI.cmake
                [2]	/path/to/cmake/cmake-3.22.1-linux-x86_64/share/cmake-3.22/Modules/FindMPI.cmake
                [1]	/path/to/WTM/common/richdem/CMakeLists.txt
-- Could NOT find MPI_CXX (missing: MPI_CXX_WORKS) 
   Called from: [4]	/path/to/cmake/cmake-3.22.1-linux-x86_64/share/cmake-3.22/Modules/FindPackageHandleStandardArgs.cmake
                [3]	/path/to/cmake/cmake-3.22.1-linux-x86_64/share/cmake-3.22/Modules/FindPackageHandleStandardArgs.cmake
                [2]	/path/to/cmake/cmake-3.22.1-linux-x86_64/share/cmake-3.22/Modules/FindMPI.cmake
                [1]	/path/to/WTM/common/richdem/CMakeLists.txt
-- Could NOT find MPI (missing: MPI_CXX_FOUND) 
   Called from: [4]	/path/to/cmake/cmake-3.22.1-linux-x86_64/share/cmake-3.22/Modules/FindPackageHandleStandardArgs.cmake
                [3]	/path/to/cmake/cmake-3.22.1-linux-x86_64/share/cmake-3.22/Modules/FindPackageHandleStandardArgs.cmake
                [2]	/path/to/cmake/cmake-3.22.1-linux-x86_64/share/cmake-3.22/Modules/FindMPI.cmake
                [1]	/path/to/WTM/common/richdem/CMakeLists.txt
   Entering             /path/to/WTM/common/richdem/apps
   Called from: [1]	/path/to/WTM/common/richdem/CMakeLists.txt
   Returning to         /path/to/WTM/common/richdem
   Called from: [1]	/path/to/WTM/common/richdem/CMakeLists.txt
CMake Warning at common/richdem/CMakeLists.txt:26 (message):
  MPI not found; will not compile parallel programs for large-scale datasets.

OK so I missed the OpenMP vs OpenMPI with incorrectly setting -DOpenMP_libomp_LIBRARY="/path/to/openmpi-4.1.1_ucx_cuda_11.0.3_support/lib//libompitrace.so.40.30.0 So I changed it to point to /cm/local/apps/gcc/10.2.0/lib/libgomp.so.1.0.0

Here is the current error:

-- Found PETSc 3.18.0
CMake Error at /path/to/cmake/cmake-3.22.1-linux-x86_64/share/cmake-3.22/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
  Could NOT find OpenMP_CXX (missing: OpenMP_libomp_LIBRARY
  OpenMP_libomp_LIBRARY) (found version "4.5")
Call Stack (most recent call first):
  /path/to/cmake/cmake-3.22.1-linux-x86_64/share/cmake-3.22/Modules/FindPackageHandleStandardArgs.cmake:594 (_FPHSA_FAILURE_MESSAGE)
  /path/to/cmake/cmake-3.22.1-linux-x86_64/share/cmake-3.22/Modules/FindOpenMP.cmake:544 (find_package_handle_standard_args)
  common/richdem/CMakeLists.txt:12 (find_package)