Nvshmem 3.2.5 build failed with -DNVSHMEM_BUILD_TESTS=ON -DNVSHMEM_BUILD_EXAMPLES=ON

compile with CUDA 12.4 + GCC 12.2.0 with openmpi on Debian 12 + cmake 3.30.3

sees no MPI deps for 3.2.5.

this is CMakeLists.txt for 3.2.5

if(NVSHMEM_MPI_SUPPORT)
   target_compile_definitions(nvshmem_perftest_helper PUBLIC NVSHMEMTEST_MPI_SUPPORT)
   target_include_directories(nvshmem_perftest_helper PUBLIC $<BUILD_INTERFACE:${MPI_CXX_INCLUDE_DIRS}>)
endif()

this is CMakeLists.txt for 3.1.7

if(NVSHMEM_MPI_SUPPORT)
   target_link_libraries(nvshmem_perftest_helper PUBLIC MPI::MPI_CXX)
   target_compile_definitions(nvshmem_perftest_helper PUBLIC NVSHMEMTEST_MPI_SUPPORT)
endif()

Thanks for the report. We don’t have a run-time linker dependency on MPI in 3.2.5. We have switched to dlopen. This change was made to support users running our pre-compiled performance tests on systems without MPI installed.
We still find MPI the same way we did previously:
perftest/CMakeLists.txt:105

  if(NVSHMEM_MPI_SUPPORT)
    find_package(MPI REQUIRED)
  endif()

I am not sure why you are seeing the missing header. Have you set MPI_HOME to a valid directory? If you can give verbose output, that would help.