Instalação do Openmpi

1

Acabei de começar a usar o Linux Mint por motivos acadêmicos e tive um erro enquanto tentava instalar o openmpi-2.0.1. Eu estou recebendo o seguinte erro como eu estou tentando fazer check

    make[4]: Leaving directory '/home/kuljeet/Downloads/openmpi-2.0.1/ompi/debuggers'
make[3]: Leaving directory '/home/kuljeet/Downloads/openmpi-2.0.1/ompi/debuggers'
make[2]: Leaving directory '/home/kuljeet/Downloads/openmpi-2.0.1/ompi/debuggers'
Making check in etc
make[2]: Entering directory '/home/kuljeet/Downloads/openmpi-2.0.1/ompi/etc'
make[2]: Nothing to be done for 'check'.
make[2]: Leaving directory '/home/kuljeet/Downloads/openmpi-2.0.1/ompi/etc'
Making check in mpi/c
make[2]: Entering directory '/home/kuljeet/Downloads/openmpi-2.0.1/ompi/mpi/c'
Making check in profile
make[3]: Entering directory '/home/kuljeet/Downloads/openmpi-2.0.1/ompi/mpi/c/profile'
  CC       pstatus_c2f.lo
rm: cannot remove '.libs/pstatus_c2f.o': Permission denied
Assembler messages:
Fatal error: can't create .libs/pstatus_c2f.o: Permission denied
make[3]: *** [pstatus_c2f.lo] Error 1
make[3]: Leaving directory '/home/kuljeet/Downloads/openmpi-2.0.1/ompi/mpi/c/profile'
make[2]: *** [check-recursive] Error 1
make[2]: Leaving directory '/home/kuljeet/Downloads/openmpi-2.0.1/ompi/mpi/c'
make[1]: *** [check-recursive] Error 1
make[1]: Leaving directory '/home/kuljeet/Downloads/openmpi-2.0.1/ompi'
make: *** [check-recursive] Error 1

Mais cedo, recebi um erro

make[3]: Entering directory '/home/thanhnt/openmpi-1.6/ompi/debuggers'
CCLD predefined_gap_test
libtool: link: cannot find the library '../../ompi/libmpi.la' or unhandled argument '../../ompi/libmpi.la'
make[3]: *** [predefined_gap_test] Error 1
make[3]: Leaving directory '/home/thanhnt/openmpi-1.6/ompi/debuggers'
make[2]: *** [check-am] Error 2
make[2]: Leaving directory '/home/thanhnt/openmpi-1.6/ompi/debuggers'
make[1]: *** [check-recursive] Error 1
make[1]: Leaving directory '/home/thanhnt/openmpi-1.6/ompi'
make: *** [check-recursive] Error

Mesmo depois de corrigir o erro de permissão acima, ainda tenho:

libtool: error: cannot find the library '../../ompi/libmpi.la' or unhandled argument '../../ompi/libmpi.la'

make[3]: *** [predefined_gap_test] Error 1

make[3]: Leaving directory /home/kuljeet/Downloads/openmpi-2.0.1/ompi/debuggers' make[2]: *** [check-am]

Error 2 make[2]: Leaving directory /home/kuljeet/Downloads/openmpi-2.0.1/ompi/debuggers' make[1]: *** [check-recursive] Error 1

    
por Kuljeet Keshav 19.12.2016 / 18:15

1 resposta

0

Você precisa compilá-lo com icc compilador intel . Verifique se você está usando a versão recente, por isso é compatível com o seu gcc. Em seguida, você precisa configurá-lo e compilá-lo seguindo estas instruções sugeridas por @liqizuiyang :

  1. Copie o código-fonte para $HOME e descomprima.

    tar -xf openmpi-2.0.1.bz2
    
  2. Crie um novo diretório chamado build em seu $HOME .

    mkdir build
    

    The 'build' directory is a sub-directory of $HOME, not 'openmpi-1.6.4'. Both 'build' and 'openmpi-1.6.4' are sub-directories of $HOME.

  3. Ir para criar e definir variáveis ambientais.

    cd build
    export CC=icc
    export CXX=icpc
    export FC=ifort
    export F77=ifort
    export CFLAGS=-O2
    export CXXFLAGS=-O2
    export FCFLAGS=-O2
    export FFLAGS=-O2
    
  4. Execute o configure.

    ../openmpi-2.0.1/configure --prefix="$HOME/code/openmpi-2.0.1
    
  5. Construa o openmpi.

    make
    
  6. Execute o conjunto de testes.

    make check
    
  7. Instalar.

    make install
    

Aqui estão alguns outros guias para construir o Open MPI:

Outra solução alternativa, como sugerido na FAQ , é criar o Open MPI como uma biblioteca estática configurando o Open MPI com --disable-shared e --enable-static . Isso tem o mesmo efeito que --disable-dlopen , mas também faz libmpi.a (em oposição a uma biblioteca compartilhada).

Se você ainda tiver o problema seguindo os guias oficiais, aumente o problema em open-mpi , poderia ser algum problema específico para sua distribuição Linux.

    
por 20.12.2016 / 12:22