libmpi_mpifh.so.12: неопределенный символ: mpi_conversion_fn_null_ - PullRequest
0 голосов
/ 25 октября 2019

Я пытаюсь запустить новый решатель, используя следующую команду

ccx_preCICE -i Solid / flap -precice-member 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)

1 Ответ

0 голосов
/ 04 ноября 2019

Итак, ради науки, я фактически установил стандартный пакет для этого через pacman в Arch Linux. Мне удалось найти символ mpi_conversion_fn_null_, который для вас не определен. Эта реализация символов на самом деле в libmpi.so.x. Мой libmpi.so установлен на /usr/lib/openmpi, поэтому я смог проверить этот символ с помощью:

objdump -tT /usr/lib/openmpi/libmpi.so | grep -w mpi_conversion_fn_null_

000000000009fc80  w   DF .text  000000000000000c  Base        mpi_conversion_fn_null_

Версия openmpi, которую я установил, была 4.0.2, в результате чего мой libmpi.so указывал наlibmpi.so.40. Я думаю, мы можем с уверенностью предположить, что ваш libmpi.so.12 является версией 1.2, что довольно далеко позади.

Если у вас есть возможность, установите более новую версию openmpi. Вы также можете собрать его из источника при необходимости.

...