어제 나는 일부 행렬을 생성하기 위해 내 오래된 프로그램을 실행하고 싶었습니다. 문제는 그것이 작동하지 않았다는 것입니다. 다음 오류가 발생합니다.
./matrixBinaryGenerator: error while loading shared libraries: libmpich.so.10: cannot open shared object file: No such file or directory
mpich
, mpich2
및 을 다시 설치해 보았지만 libmpich-dev
모두 성공적으로 다시 설치해도 문제가 해결되지 않았습니다.
꽤 초보적인 질문인 것은 알지만, 이 라이브러리를 어떻게 설치하는지 아시나요? 나는 수동으로(RPM 등에서) 설치하는 것이 아니라 일부 저장소에서 설치하는 것을 선호합니다.
내 프로그램은 PETSC를 사용하고 OS는 Ubuntu 14.10입니다.
이것은 내 MPI 버전입니다.
HYDRA build details:
Version: 3.1
Release Date: Thu Feb 20 11:41:13 CST 2014
CC: gcc -D_FORTIFY_SOURCE=2 -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -Wl,-Bsymbolic-functions -Wl,-z,relro
CXX: g++ -D_FORTIFY_SOURCE=2 -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -Wl,-Bsymbolic-functions -Wl,-z,relro
F77: gfortran -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wl,-Bsymbolic-functions -Wl,-z,relro
F90: gfortran -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wl,-Bsymbolic-functions -Wl,-z,relro
Configure options: '--disable-option-checking' '--prefix=/usr' '--build=x86_64-linux-gnu' '--includedir=${prefix}/include' '--mandir=${prefix}/share/man' '--infodir=${prefix}/share/info' '--sysconfdir=/etc' '--localstatedir=/var' '--libdir=${prefix}/lib/x86_64-linux-gnu' '--libexecdir=${prefix}/lib/x86_64-linux-gnu' '--disable-maintainer-mode' '--disable-dependency-tracking' '--enable-shared' '--enable-fc' '--disable-rpath' '--disable-wrapper-rpath' '--sysconfdir=/etc/mpich' '--libdir=/usr/lib/x86_64-linux-gnu' '--includedir=/usr/include/mpich' '--docdir=/usr/share/doc/mpich' '--with-hwloc-prefix=system' '--enable-checkpointing' '--with-hydra-ckpointlib=blcr' 'build_alias=x86_64-linux-gnu' 'MPICHLIB_CFLAGS=-g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security' 'MPICHLIB_CXXFLAGS=-g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security' 'MPICHLIB_FFLAGS=-g -O2 -fstack-protector --param=ssp-buffer-size=4' 'MPICHLIB_FCFLAGS=-g -O2 -fstack-protector --param=ssp-buffer-size=4' 'CFLAGS=-g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -O2' 'LDFLAGS=-Wl,-Bsymbolic-functions -Wl,-z,relro ' 'CPPFLAGS=-D_FORTIFY_SOURCE=2 -I/build/buildd/mpich-3.1/src/mpl/include -I/build/buildd/mpich-3.1/src/mpl/include -I/build/buildd/mpich-3.1/src/openpa/src -I/build/buildd/mpich-3.1/src/openpa/src -I/build/buildd/mpich-3.1/src/mpi/romio/include' 'CXXFLAGS=-g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security' 'F77=gfortran' 'FFLAGS=-g -O2 -fstack-protector --param=ssp-buffer-size=4 -g -O2 -fstack-protector --param=ssp-buffer-size=4 -O2' 'FC=gfortran' 'FCFLAGS=-g -O2 -fstack-protector --param=ssp-buffer-size=4 -g -O2 -fstack-protector --param=ssp-buffer-size=4' '--cache-file=/dev/null' '--srcdir=.' 'CC=gcc' 'LIBS=-lrt -lcr -lpthread '
Process Manager: pmi
Launchers available: ssh rsh fork slurm ll lsf sge manual persist
Topology libraries available: hwloc
Resource management kernels available: user slurm ll lsf sge pbs cobalt
Checkpointing libraries available: blcr
Demux engines available: poll select
답변1
마침내 나는 이 문제에 대한 해결책을 찾았습니다. 내 시스템에서는 libmpich.so.10
이 기능을 사용할 수 없다는 것을 발견했습니다 libmpich.so.12
. 그래서 심볼릭 링크를 만들었고 작동했습니다 :-)
주문하다:
ln -s libmpich.so.10 libmpich.so.12