Nest simulator pynestkernel导入错误:libmpi_cxx.so.20:无法打开共享对象文件:没有此类文件或目录

Nest simulator pynestkernel导入错误:libmpi_cxx.so.20:无法打开共享对象文件:没有此类文件或目录,nest-simulator,Nest Simulator,使用以下各项安装NEST 2.18时: cmake \ -Dwith-mpi=/usr/lib/x86_64-linux-gnu/openmpi \ -Dwith-python=3 \ -DPYTHON_EXECUTABLE=/home/robin/.pyenv/versions/3.8.6/bin/python \ -DPYTHON_LIBRARY=/home/robin/.pyenv/versions/3.8.6/lib/libpython3.8.so \ -DPYTHO

使用以下各项安装NEST 2.18时:

cmake \
  -Dwith-mpi=/usr/lib/x86_64-linux-gnu/openmpi \
  -Dwith-python=3 \
  -DPYTHON_EXECUTABLE=/home/robin/.pyenv/versions/3.8.6/bin/python \
  -DPYTHON_LIBRARY=/home/robin/.pyenv/versions/3.8.6/lib/libpython3.8.so \
  -DPYTHON_INCLUDE_DIR=/home/robin/.pyenv/versions/3.8.6/include/python3.8/ \
  -DCMAKE_INSTALL_PREFIX=/home/robin/nest-install \
  ..
NEST 2.18似乎试图寻找
libmpi_cxx.so.20
,尽管它不存在,也不是已安装的mpi库的一部分

$ ldd nest-install/lib/python3.8/site-packages/nest/pynestkernel.so 
    linux-vdso.so.1 (0x00007fff3bb37000)
    libpython3.8.so.1.0 => /home/robin/.pyenv/versions/3.8.6/lib/libpython3.8.so.1.0 (0x00007feaa1401000)
    libnest.so => /nest/2.18/lib/libnest.so (0x00007feaa11c1000)
    libmodels.so => /nest/2.18/lib/libmodels.so (0x00007feaa0930000)
    libtopology.so => /nest/2.18/lib/libtopology.so (0x00007feaa0691000)
    libnestkernel.so => /nest/2.18/lib/libnestkernel.so (0x00007feaa0335000)
    librandom.so => /nest/2.18/lib/librandom.so (0x00007feaa00e9000)
    libsli.so => /nest/2.18/lib/libsli.so (0x00007fea9fd9a000)
    libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fea9fba1000)
    libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fea9fb86000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fea9f994000)
    libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fea9f971000)
    libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fea9f969000)
    libutil.so.1 => /lib/x86_64-linux-gnu/libutil.so.1 (0x00007fea9f964000)
    libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fea9f815000)
    libprecise.so => /nest/2.18/lib/libprecise.so (0x00007fea9f592000)
    libltdl.so.7 => /usr/lib/x86_64-linux-gnu/libltdl.so.7 (0x00007fea9f587000)
    libmpi_cxx.so.20 => /usr/lib/x86_64-linux-gnu/openmpi/lib/libmpi_cxx.so.20 (0x00007fea9f567000)
    libmpi.so.20 => not found
    libnestutil.so => /nest/2.18/lib/libnestutil.so (0x00007fea9f363000)
    libgsl.so.23 => /usr/lib/x86_64-linux-gnu/libgsl.so.23 (0x00007fea9f0e7000)
    libgslcblas.so.0 => /usr/lib/x86_64-linux-gnu/libgslcblas.so.0 (0x00007fea9f0a5000)
    libgomp.so.1 => /usr/lib/x86_64-linux-gnu/libgomp.so.1 (0x00007fea9f063000)
    /lib64/ld-linux-x86-64.so.2 (0x00007feaa180a000)
    libmpi.so.20 => not found
    libmpi.so.20 => not found
    libmpi.so.20 => not found
    libmpi.so.20 => not found
    libmpi.so.40 => /usr/local/lib/libmpi.so.40 (0x00007fea9ed39000)
    libopen-rte.so.40 => /usr/local/lib/libopen-rte.so.40 (0x00007fea9ea83000)
    libopen-pal.so.40 => /usr/local/lib/libopen-pal.so.40 (0x00007fea9e76b000)
    librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007fea9e760000)
    libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007fea9e744000)
我尝试使用
ccmake
更改所有的cmake变量,但无法将其链接到
libmpi\u cxx.so.40

即使没有MPI支持,它也包含这个链接,看起来像个bug

robin@robin-ZenBook-UX533FN:~$ ldd nest-install/lib/python3.8/site-packages/nest/pynestkernel.so 
    linux-vdso.so.1 (0x00007ffe63518000)
    libpython3.8.so.1.0 => /home/robin/.pyenv/versions/3.8.6/lib/libpython3.8.so.1.0 (0x00007fa1e3c37000)
    libnest.so => /nest/2.18/lib/libnest.so (0x00007fa1e39f7000)
    libmodels.so => /nest/2.18/lib/libmodels.so (0x00007fa1e3166000)
    libtopology.so => /nest/2.18/lib/libtopology.so (0x00007fa1e2ec7000)
    libnestkernel.so => /nest/2.18/lib/libnestkernel.so (0x00007fa1e2b6b000)
    librandom.so => /nest/2.18/lib/librandom.so (0x00007fa1e291f000)
    libsli.so => /nest/2.18/lib/libsli.so (0x00007fa1e25d0000)
    libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fa1e23d7000)
    libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fa1e23bc000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fa1e21ca000)
    libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fa1e21a7000)
    libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fa1e219f000)
    libutil.so.1 => /lib/x86_64-linux-gnu/libutil.so.1 (0x00007fa1e219a000)
    libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fa1e204b000)
    libprecise.so => /nest/2.18/lib/libprecise.so (0x00007fa1e1dc8000)
    libltdl.so.7 => /usr/lib/x86_64-linux-gnu/libltdl.so.7 (0x00007fa1e1dbd000)
    libmpi_cxx.so.20 => not found
    libmpi.so.20 => not found
    libnestutil.so => /nest/2.18/lib/libnestutil.so (0x00007fa1e1bb7000)
    libgsl.so.23 => /usr/lib/x86_64-linux-gnu/libgsl.so.23 (0x00007fa1e193b000)
    libgslcblas.so.0 => /usr/lib/x86_64-linux-gnu/libgslcblas.so.0 (0x00007fa1e18f9000)
    libgomp.so.1 => /usr/lib/x86_64-linux-gnu/libgomp.so.1 (0x00007fa1e18b7000)
    /lib64/ld-linux-x86-64.so.2 (0x00007fa1e4040000)
    libmpi_cxx.so.20 => not found
    libmpi.so.20 => not found
    libmpi_cxx.so.20 => not found
    libmpi.so.20 => not found
    libmpi_cxx.so.20 => not found
    libmpi.so.20 => not found
    libmpi_cxx.so.20 => not found
    libmpi.so.20 => not found
导入时的完整错误是:

>>> import nest
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/robin/nest-install/lib/python3.8/site-packages/nest/__init__.py", line 26, in <module>
    from . import ll_api      # noqa
  File "/home/robin/nest-install/lib/python3.8/site-packages/nest/ll_api.py", line 72, in <module>
    from . import pynestkernel as kernel      # noqa
ImportError: libmpi_cxx.so.20: cannot open shared object file: No such file or directory
导入嵌套 回溯(最近一次呼叫最后一次): 文件“”,第1行,在 文件“/home/robin/nest-install/lib/python3.8/site-packages/nest/__-init__.py”,第26行,在 从…起导入ll#U api#noqa 文件“/home/robin/nest install/lib/python3.8/site packages/nest/ll_api.py”,第72行,在 从…起将pynestkernel导入为内核#noqa ImportError:libmpi_cxx.so.20:无法打开共享对象文件:没有此类文件或目录
嗨!你能检查一下cmake是否找到boost,以及在哪个版本中?Boost现在具有自己的OpenMPI依赖性,我们已经看到它在各种情况下与其他OpenMPI安装相冲突。可能是出现意外链接的原因。