Occa: A compilação falha com o compilador PGI

Criado em 28 abr. 2020  ·  7Comentários  ·  Fonte: libocca/occa

A compilação falha ao usar o PGI Community Edition Versão 19.10 .

O erro parece ser devido a um caminho de inclusão incorreto. No entanto, especificá-lo explicitamente ( make OCCA_INCLUDE_PATH=/opt/pgi/linux86-64-llvm/19.10/include ) não resolve o problema.

A mensagem de erro real é:

/opt/pgi/linux86-64-llvm/19.10/bin/pgc++  -O3 -fast -Mipa=fast,inline -Msmartalloc -std=c++11 -fPIC -o /path/to/occa/obj/modes.o  -mp -c -I/path/to/occa/include -I/opt/pgi/linux86-64-llvm/19.10/include -I/usr/include -I/path/to/occa/src /path/to/occa/src/modes.cpp
pgc++-Warning--Mipa is not supported for this target

"/usr/include/c++/9/cstdlib", line 75: catastrophic error: cannot open source
          file "stdlib.h"
  #include_next <stdlib.h>
                          ^

1 catastrophic error detected in the compilation of "/path/to/occa/src/modes.cpp".
Compilation terminated.
make: *** [Makefile:132: /path/to/occa/obj/modes.o] Error 2

Isso está em um sistema Linux Fedora 31 que vem com o gcc 9.3.1.

bug

Todos 7 comentários

Não consigo reproduzir isso com meu compilador PGI 20.1
Você está usando a compilação CMake ou a compilação make?

Apenas os Makefiles normais, eu nem tentei cmake para occa.

Em qual edição e plataforma da PGI está isso? Você está usando cmake ou Makefiles?

Estou usando CMake exclusivamente. Usando PGI 20.1 (acho que é esta Professional Edition ) no CentOS 7.7, mas a pilha de software consiste em módulos EasyBuild, portanto, a maioria das inclusões/bibliotecas relevantes não são inclusões/bibliotecas do sistema.

Bom, dá pra testar com make clássico então? Não tenho acesso ao IGP 20.1.

Pode tentar isso na próxima semana (não está mais no trabalho), e peço que você experimente a variante CMake também para tornar nossos testes simétricos.

Eu tentei com um repositório occa limpo e make -j4 e não obtive erros.

pgc++ -O3 -fast -Mipa=fast,inline -Msmartalloc -std=c++11 -fPIC -o /path/to/occa/obj/modes.o -mp -c -I/path/to/occa/include -I/path/to/occa/include -I/path/to/occa/src /path/to/occa/src/modes.cpp

$ pgc++ --version

pgc++ 20.1-0 LLVM 64-bit target on x86-64 Linux -tp haswell 
PGI Compilers and Tools
Copyright (c) 2020, NVIDIA CORPORATION.  All rights reserved.

Fechando já que não podemos reproduzir

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

amikstcyr picture amikstcyr  ·  11Comentários

tcew picture tcew  ·  22Comentários

jeremylt picture jeremylt  ·  12Comentários

tcew picture tcew  ·  10Comentários

dmed256 picture dmed256  ·  4Comentários