У меня есть исполняемый файл, который работает на OpenSuse 13.2. Это ссылки на общие библиотеки. Некоторые библиотеки поставляются с исполняемым файлом, а другие обнаруживаются в системе. Я пытаюсь выяснить, могу ли я запустить версию, скомпилированную в OpenSuse 13.2 в Ubuntu 14.04. Я устанавливал недостающие библиотеки (такие как gfortran, libblas, liblapack), которые я вижу, когда использую 'ldd' в exectuable. Требуется несколько библиотек из пакета openmpi. Я использовал: sudo apt-get install openmpi-bin libopenmpi-dev
Однако исполняемый файл не может найти 2 библиотеки:
libmpi_usempi.so.1
libmpi_mpifh .so.2
В OpenSuse, если я использую 'ldd' в тех библиотеках, которые они содержат: libmpi_mpifh.so.2:
linux-vdso.so.1 (0x00007fff433d9000)
libmpi.so.1 => /usr/lib64/mpi/gcc/openmpi/lib64/libmpi.so.1 (0x00007f7b4ccf3000)
libopen-pal.so.5 => /usr/lib64/mpi/gcc/openmpi/lib64/libopen-pal.so.5 (0x00007f7b4ca32000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f7b4c7ea000)
libc.so.6 => /lib64/libc.so.6 (0x00007f7b4c442000)
libopen-rte.so.5 => /usr/lib64/mpi/gcc/openmpi/lib64/libopen-rte.so.5 (0x00007f7b4c1d2000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f7b4bfce000)
librt.so.1 => /lib64/librt.so.1 (0x00007f7b4bdc6000)
libutil.so.1 => /lib64/libutil.so.1 (0x00007f7b4bbc2000)
/lib64/ld-linux-x86-64.so.2 (0x00007f7b4d212000)
libmpi_usempi.so.1:
[ 111]Я новичок в концепции перемещения программного обеспечения между системами и связи с доступными общими библиотеками. Если исполняемый файл не может найти эти две библиотеки после установки пакета openmpi в Ubuntu 14.04, должен ли я заключить, что эта программа не может быть перенесена в Ubuntu из OpenSuse?
Вы не можете только скопировать исполняемый файл или двоичный файл от одного распределения до другого. Если Вы будете удачливы, что это будет работать, то промах главным образом перестанет работать.
, Если у Вас есть исходный код, Вы могли бы перекомпилировать программное обеспечение на Ubuntu, которая должна заставить его работать.
существует также некоторое усилие в создании контейнеров приложения, которые будут работать на любом распределении. Я думаю для MPI связанный материал , Особенность могла бы быть лучшим выбором во время этой записи. Но необходимо будет создать контейнер приложения в системе Suse 13.2 в случае.