为什么CMake找不到MPI?

问题描述 投票:0回答:2

我正在尝试在 Ubuntu 22.04 LTS 上从 GitHub(GLSLIM、link)安装软件。需求中,既有MPI,也有CMake。我使用在网站上找到的库(CMakeopenmpi)安装了它们。当我尝试进行 GLSLIM 构建时,出现以下错误:

-- Could NOT find MPI_C (missing: MPI_C_LIB_NAMES MPI_C_WORKS) 
-- Could NOT find MPI_CXX (missing: MPI_CXX_LIB_NAMES MPI_CXX_WORKS) 
CMake Error at /usr/local/share/cmake-3.23/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
  Could NOT find MPI (missing: MPI_C_FOUND MPI_CXX_FOUND)
Call Stack (most recent call first):
  /usr/local/share/cmake-3.23/Modules/FindPackageHandleStandardArgs.cmake:594 (_FPHSA_FAILURE_MESSAGE)
  /usr/local/share/cmake-3.23/Modules/FindMPI.cmake:1830 (find_package_handle_standard_args)

  CMakeLists.txt:6 (find_package)

我在网上搜索了可能的解决方案,发现了很多类似的问题。例如,这些是一些相关的 StackOverflow 问题:firstsecondthirdfourth 等。

不管怎样,他们都没有解决我的问题,而且似乎也与我没有严格的关系。

我不知道从哪里开始寻找解决方案。非常感谢任何帮助。

cmake openmpi
2个回答
0
投票

也许可以使用以下内容:

sudo rm -f /etc/aternatives/mpi* /var/lib/dpkg/alternatives/mpi*

sudo apt install openmpi-bin

(来源)


0
投票

您会发现,在某些系统(例如 Fedora)上,当您

dnf install openmpi-devel
时,您将获得一个模块。您应该加载它 (
module load mpi/openmpi-x86_64
) 或为 CMake 提供显式路径,以便它可以找到该库。

在典型的 HPC 集群上,您将

module load

© www.soinside.com 2019 - 2024. All rights reserved.