0

安装 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 \
  ..

libmpi_cxx.so.20即使 NEST 2.18不存在并且不是已安装的 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)

我尝试使用更改所有 cmake 变量,ccmake但无法将其链接到libmpi_cxx.so.40.

即使没有 MPI 支持,它也包含此链接,似乎是一个错误?

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
4

0 回答 0