Occa: Kompilasi gagal dengan kompiler PGI

Dibuat pada 28 Apr 2020  ·  7Komentar  ·  Sumber: libocca/occa

Kompilasi gagal saat menggunakan PGI Community Edition Versi 19.10 .

Kesalahan tampaknya disebabkan oleh jalur penyertaan yang salah. Namun, secara eksplisit menentukannya ( make OCCA_INCLUDE_PATH=/opt/pgi/linux86-64-llvm/19.10/include ) tidak menyelesaikan masalah.

Pesan kesalahan yang sebenarnya adalah:

/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

Ini pada sistem Fedora 31 Linux yang dilengkapi dengan gcc 9.3.1.

bug

Semua 7 komentar

Saya tidak dapat mereproduksi ini dengan kompiler PGI 20.1 saya
Apakah Anda menggunakan build CMake atau make build?

Hanya Makefile biasa, saya bahkan belum mencoba cmake for occa.

Edisi dan platform PGI mana ini? Apakah Anda menggunakan cmake atau Makefiles?

Saya menggunakan CMake secara eksklusif. Menggunakan PGI 20.1 (Saya pikir ini Edisi Profesional ) pada CentOS 7.7, tetapi tumpukan perangkat lunak terdiri dari modul EasyBuild, jadi sebagian besar penyertaan/perpustakaan yang relevan bukan termasuk/pustaka sistem.

Nah, bisakah Anda mengujinya dengan make klasik? Saya tidak memiliki akses ke PGI 20.1.

Dapat mencobanya minggu depan (tidak lagi bekerja), dan saya akan meminta Anda untuk mencoba varian CMake juga untuk membuat pengujian kami simetris.

Saya mencoba dengan repositori occa yang bersih dan make -j4 dan saya tidak mendapatkan kesalahan.

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.

Menutup karena kami tidak dapat mereproduksi

Apakah halaman ini membantu?
0 / 5 - 0 peringkat