libmpich.so.10 faltando

1

Ontem eu queria lançar um dos meus programas mais antigos para gerar algumas matrizes. O problema é que não funcionou. Eu recebi este erro:

./matrixBinaryGenerator: error while loading shared libraries: libmpich.so.10: cannot open shared object file: No such file or directory

Eu tentei reinstalar mpich , mpich2 e libmpich-dev , mas mesmo que todos tenham sido reinstalados com sucesso, isso não resolveu meu problema.

Então, eu sei que essa é uma pergunta muito básica para iniciantes, mas, como você pode instalar essa biblioteca? Eu prefiro não instalá-lo manualmente (a partir de RPM etc.), mas de algum repositório.

Meu programa usa o PETSC, meu sistema operacional é o Ubuntu 14.10.

Esta é a versão do meu 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
    
por Eenoku 03.04.2015 / 18:12

1 resposta

1

Finalmente, encontrei uma solução para isso. Descobri que, em vez de libmpich.so.10 , há libmpich.so.12 no meu sistema. Então eu criei um link simbólico e ele funciona: -)

Comando:

ln -s libmpich.so.10 libmpich.so.12
    
por 10.05.2015 / 19:18