openmpi 라이브러리 Ubuntu 14.04에 연결하는 데 문제가 있습니다.

openmpi 라이브러리 Ubuntu 14.04에 연결하는 데 문제가 있습니다.

OpenSuse 13.2에서 실행되는 실행 파일이 있습니다. 공유 라이브러리에 연결됩니다. 일부 라이브러리는 실행 파일과 함께 제공되고 다른 라이브러리는 시스템에서 감지됩니다. Ubuntu 14.04의 OpenSuse 13.2에서 컴파일된 버전을 실행할 수 있는지 확인하려고 합니다. 실행 파일에서 'ldd'를 사용할 때 표시되는 누락된 라이브러리(예: gfortran, libblas, liblapack)를 설치해 왔습니다. 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:

linux-vdso.so.1 (0x00007fff9adfc000)
libmpi_mpifh.so.2 => /usr/lib64/mpi/gcc/openmpi/lib64/libmpi_mpifh.so.2 (0x00007f13809a3000)
libmpi.so.1 => /usr/lib64/mpi/gcc/openmpi/lib64/libmpi.so.1 (0x00007f13806d2000)
libopen-pal.so.5 => /usr/lib64/mpi/gcc/openmpi/lib64/libopen-pal.so.5 (0x00007f1380412000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f13801ca000)
libc.so.6 => /lib64/libc.so.6 (0x00007f137fe21000)
libopen-rte.so.5 => /usr/lib64/mpi/gcc/openmpi/lib64/libopen-rte.so.5 (0x00007f137fbb2000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f137f9ae000)
librt.so.1 => /lib64/librt.so.1 (0x00007f137f7a5000)
libutil.so.1 => /lib64/libutil.so.1 (0x00007f137f5a2000)
/lib64/ld-linux-x86-64.so.2 (0x00007f1380e8c000)

저는 시스템 간에 소프트웨어를 이동하고 사용 가능한 공유 라이브러리에 연결하는 개념이 처음입니다. Ubuntu 14.04에 openmpi 패키지를 설치한 후 실행 파일이 두 라이브러리를 찾을 수 없는 경우 이 프로그램을 OpenSuse에서 Ubuntu로 포팅할 수 없다고 결론을 내려야 합니까?

답변1

한 배포판에서 다른 배포판으로 실행 파일이나 바이너리를 복사할 수는 없습니다. 운이 좋다면 효과가 있을 것입니다. 대부분 실패할 것입니다.
소스 코드가 있는 경우 Ubuntu에서 소프트웨어를 다시 컴파일하여 작동하게 할 수 있습니다.

모든 배포판에서 실행될 애플리케이션 컨테이너를 구축하려는 노력도 있습니다. MPI 관련 내용을 생각합니다.특이이 글을 쓰는 시점에서는 최선의 선택일 수도 있습니다. 하지만 귀하의 경우에는 Suse 13.2 시스템에 애플리케이션 컨테이너를 구축해야 합니다.

관련 정보