【发布时间】:2019-10-25 17:41:11
【问题描述】:
我正在尝试使用以下命令运行一个新的求解器
ccx_preCICE -i Solid/flap -precice-participant Calculix
但是每次我收到此错误消息时,有什么想法吗?
符号查找错误:/usr/lib/libmpi_mpifh.so.12:未定义符号:mpi_conversion_fn_null_
ldd /usr/lib/libmpi_mpifh.so.12 的输出:
linux-vdso.so.1 => (0x00007fffef22b000)
libmpi.so.12 => /opt/OpenFOAM/OpenFOAM/ThirdParty-v1712/platforms/linux64Gcc63/openmpi-1.10.4/lib64/libmpi.so.12 (0x00007fe376a60000)
libopen-pal.so.13 => /opt/OpenFOAM/OpenFOAM/ThirdParty-v1712/platforms/linux64Gcc63/openmpi-1.10.4/lib64/libopen-pal.so.13 (0x00007fe376780000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fe376550000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fe376170000)
libopen-rte.so.12 => /opt/OpenFOAM/ThirdParty-v1706/platforms/linux64Gcc63/openmpi-1.10.4/lib64/libopen-rte.so.12 (0x00007fe375ef0000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fe375cd0000)
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007fe375ac0000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fe3757b0000)
libutil.so.1 => /lib/x86_64-linux-gnu/libutil.so.1 (0x00007fe375590000)
/lib64/ld-linux-x86-64.so.2 (0x00007fe377000000)
【问题讨论】:
-
您遇到了图书馆问题。可能是不正确的版本,除非你自己编译?您可以使用
objdump -tT /usr/lib/libmpi_mpifh.so.12查看库中的所有符号。 -
你也可以
ldd /usr/lib/libmpi_mpifh.so.12,它应该解析为/usr/lib/libmpi.so.12,否则你的$LD_LIBRARY_PATH可能有问题 -
@GillesGouaillardet 感谢您的评论;通过运行 (ldd /usr/lib/libmpi_mpifh.so.12) 我得到了以下结果:
-
@Jason >> 感谢您的帮助;但是,我有一个很长的清单,我不知道这是否可以帮助我定义问题。打印输出统计信息:/usr/lib/libmpi_mpifh.so.12:文件格式 elf64-x86-64 符号表:无符号动态符号表:
-
嘿,您的答案应该是对问题的编辑,因为它不是答案 =D。无论如何,我要试一试,说引用应该在 libmpi 中。如果您运行
objdump -Tt /opt/OpenFOAM/OpenFOAM/ThirdParty-v1712/platforms/linux64Gcc63/openmpi-1.10.4/lib64/libmpi.so.12 | grep mpi_conversion_fn_null_,您将不会返回任何内容(猜测)。如果是这种情况,您可能只是没有兼容版本的 libmpi.so