Occa: Die Kompilierung schlägt mit dem PGI-Compiler fehl

Erstellt am 28. Apr. 2020  ·  7Kommentare  ·  Quelle: libocca/occa

Bei Verwendung der PGI Community Edition Version 19.10 schlägt die Kompilierung fehl.

Der Fehler scheint auf einen falschen Include-Pfad zurückzuführen zu sein. Die explizite Angabe ( make OCCA_INCLUDE_PATH=/opt/pgi/linux86-64-llvm/19.10/include ) löst das Problem jedoch nicht.

Die eigentliche Fehlermeldung lautet:

/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

Dies ist auf einem Fedora 31 Linux-System, das mit gcc 9.3.1 geliefert wird.

bug

Alle 7 Kommentare

Ich kann dies mit meinem PGI 20.1-Compiler nicht reproduzieren
Verwenden Sie den CMake-Build oder den Make-Build?

Nur die normalen Makefiles, ich habe nicht einmal cmake für occa ausprobiert.

Auf welcher PGI-Edition und -Plattform ist das? Verwenden Sie cmake oder Makefiles?

Ich verwende ausschließlich CMake. Verwendung von PGI 20.1 (ich denke, es ist diese Professional Edition ) unter CentOS 7.7, aber der Software-Stack besteht aus EasyBuild-Modulen, sodass die meisten relevanten Includes/Bibliotheken keine System-Includes/Bibliotheken sind.

Können Sie es dann mit Classic Make testen? Ich habe keinen Zugriff auf PGI 20.1.

Kann das nächste Woche ausprobieren (nicht mehr auf der Arbeit), und ich würde Sie bitten, auch die CMake-Variante auszuprobieren, um unsere Tests symmetrisch zu machen.

Ich habe es mit einem sauberen Occa-Repository und make -j4 versucht und keine Fehler erhalten.

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.

Schließung, da wir nicht reproduzieren können

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen

Verwandte Themen

tcew picture tcew  ·  10Kommentare

tcew picture tcew  ·  22Kommentare

dmed256 picture dmed256  ·  4Kommentare

amikstcyr picture amikstcyr  ·  11Kommentare

jeremylt picture jeremylt  ·  12Kommentare