mpi.h não encontrado

2

Eu tentei compilar o programa Hello World em C, dentro do Eclipse PTP, mas ele me deu um erro relacionado a mpi.h .

Incluí /usr/local/include e /usr/local/lib em meus caminhos e também tentei executar uma pesquisa com find / -name mpi.h . Eu ainda recebo um erro Nenhum arquivo ou diretório .

Eu tentei instalar mpich2 , mas ainda não consegui encontrar mpi.h .

Além disso:

  • Não há pasta dentro do diretório include , por que isso?
  • posso encontrar mpicc at /usr/bin/mpicc

O mesmo problema ocorre ao tentar compilar o projeto como código C ++. O que devo fazer?

    
por Dalia Shouman 21.10.2015 / 16:40

1 resposta

1

este estouro de pilha pergunta responde a sua .

De acordo com yum , o arquivo de cabeçalho mpi.h é fornecido pelos seguintes pacotes:

$ yum whatprovides '*/mpi.h'
openmpi-devel-1.8.1-1.el6.x86_64
mpich2-devel-1.2.1-2.3.el6.x86_64
mvapich2-devel-2.0rc1-1.el6.x86_64
mvapich-devel-1.2.0-0.3563.rc1.5.el6.x86_64
mvapich2-psm-devel-2.0rc1-1.el6.x86_64
mpich-devel-3.1-4.el6.x86_64
mvapich-psm-devel-1.2.0-0.3563.rc1.5.el6.x86_64   

Eu removi a maior parte da saída, bem como as versões i686 . Escolha o pacote de acordo com o que (variante) você está tentando trabalhar. :)

Observe que a maioria desses pacotes cria um subdiretório em /usr/include quando instalado. Por exemplo, o arquivo mpi.h fornecido por openmpi-devel está disponível em /usr/include/openmpi-x86_64/mpi.h , o que significa que você deve incluir openmpi-x86_64/mpi.h em seu código-fonte ou adicionar o diretório /usr/include/openmpi-x86_64 aos seus caminhos de inclusão.

Além disso, alguns desses pacotes (como mvapich-devel ) nem mesmo usam /usr/include e colocam seus cabeçalhos abaixo de /usr/lib64/{package}/include/ .

    
por 21.10.2015 / 17:12