SO:Ubuntu 17.04。直到昨天,MPI一切正常,然后出现了问题。该错误是标题上的错误,并且与mpirun -n[n] ./myprogram
一起运行。
以前欧泊与Libmpi.so.12错误,我无法解决这个问题,尽管我试图表明我.bashrc
的LD_LIBRARY_PATH,在类似的问题在这里提出。然后重新安装OpenMPI,这个新的错误已经改变,我不知道如何解决它。实际上的apt-file search libmpi.so
结果是:MPI符号查找错误:opal_uses_threads
lam4-dev: /usr/lib/lam/lib/libmpi.so
libopenmpi-dev: /usr/lib/x86_64-linux-gnu/openmpi/lib/libmpi.so
libopenmpi2: /usr/lib/x86_64-linux-gnu/libmpi.so.20
libopenmpi2: /usr/lib/x86_64-linux-gnu/libmpi.so.20.0.2
libopenmpi2: /usr/lib/x86_64-linux-gnu/openmpi/lib/libmpi.so.20.0.2
而且ldd
回报:
linux-vdso.so.1 => (0x00007ffc415e5000)
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007fe717956000)
libmpi.so.12 => not found
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fe717738000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fe717371000)
/lib64/ld-linux-x86-64.so.2 (0x000055ccd14f4000)
所以,问题似乎仍然是libmpi.so.12?在重新安装OpenMPI之前,libmpi.so.12在那里,MPI找不到它,但在那里。
[编辑]
which mpirun
回报:
/usr/bin/mpirun
而且apt-file search mpicc
回报:
lam4-dev: /usr/bin/mpicc.lam
lam4-dev: /usr/share/man/man1/mpicc.lam.1.gz
libmpich-dev: /usr/bin/mpicc.mpich
libmpich-dev: /usr/share/man/man1/mpicc.mpich.1.gz
libopenmpi-dev: /usr/bin/mpicc.openmpi
libopenmpi-dev: /usr/share/man/man1/mpicc.openmpi.1.gz
libsimgrid-dev: /usr/bin/smpicc
libsimgrid-dev: /usr/share/man/man1/smpicc.1.gz
mpich-doc: /usr/share/doc/mpich-doc/www1/mpicc.html
openmpi-common: /usr/share/openmpi/mpicc-wrapper-data.txt
openmpi-common: /usr/share/openmpi/mpicc.openmpi-wrapper-data.txt
我只是用'mpicc ...'编译它。我怎样才能用新安装的Open MPI进行编译? – Caramelleamare
确保'mpicc'是Open MPI提供的,然后从头开始重新构建您的应用程序,这可能就足够了。 –
请注意,你应该不需要任何东西在你的'.bashrc' –