Occa: La compilation échoue avec le compilateur PGI

Créé le 28 avr. 2020  ·  7Commentaires  ·  Source: libocca/occa

La compilation échoue lors de l'utilisation de la version 19.10 de PGI Community Edition .

L'erreur semble être due à un chemin d'inclusion incorrect. Cependant, le spécifier explicitement ( make OCCA_INCLUDE_PATH=/opt/pgi/linux86-64-llvm/19.10/include ) ne résout pas le problème.

Le vrai message d'erreur est :

/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

C'est sur un système Linux Fedora 31 fourni avec gcc 9.3.1.

bug

Tous les 7 commentaires

Je ne peux pas reproduire cela avec mon compilateur PGI 20.1
Utilisez-vous la version CMake ou la version make ?

Juste les Makefiles normaux, je n'ai même pas essayé cmake pour occa.

Sur quelle édition et plate-forme PGI cela se trouve-t-il ? Utilisez-vous cmake ou Makefiles ?

J'utilise CMake exclusivement. Utilisation de PGI 20.1 (je pense que c'est cette édition professionnelle ) sur CentOS 7.7, mais la pile logicielle se compose de modules EasyBuild, de sorte que la plupart des inclusions/bibliothèques pertinentes ne sont pas des inclusions/bibliothèques système.

Eh bien, pouvez-vous le tester avec une marque classique alors? Je n'ai pas accès à PGI 20.1.

Je peux essayer cela la semaine prochaine (plus au travail), et je vous demanderais également d'essayer la variante CMake pour rendre nos tests symétriques.

J'ai essayé avec un référentiel occa propre et make -j4 et je n'ai eu aucune erreur.

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.

Fermeture car nous ne pouvons pas reproduire

Cette page vous a été utile?
0 / 5 - 0 notes