Wie lautet der korrekte Speicherort von gcc auf meinem Ubuntu 16.04-Computer?

3657
Brendan Darrer

Ich versuche, das Softwarepaket Trilinos zu erstellen, und ich denke, es ist fehlgeschlagen, weil es das C-Compiler-Verzeichnis nicht richtig finden konnte. Kann mir jemand sagen, wo gccauf meinem Ubuntu 16.04-Computer der richtige Ort ist? Ich brauche eigentlich die Verzeichnisse C, C ++ und Fortran.

Ich verwende das Build-Skript:

cmake \ -DCMAKE_C_COMPILER=<path to C compiler> \ -DCMAKE_CXX_COMPILER=<path to C++ compiler> \ -DCMAKE_Fortran_COMPILER=<path to Fortran compiler> \ -DTrilinos_ENABLE_ALL_PACKAGES=ON \ -DCMAKE_INSTALL_PATH=<path to install Trilinos into> \ <path to Trilinos source>  make -j<n> install 

Ich habe Verzeichnisse verwendet:

<path to C compiler> = /usr/bin <path to C++ compiler> = /usr/bin <path to Fortran compiler> = /usr/bin 

Ich nehme an, C ist gcc-5, C ++ ist g++-5und Fortran ist gfortran-5?

Soll das Verzeichnis /usr/lib/gcc/x86_64-linux-gnuvom Linux-C-Compiler stammen ?

Der Befehl cmake gab eine Fehlermeldung (Endteil der Build-Ausgabe) aus:

-- The C compiler identification is unknown -- Check for working C compiler: /usr/bin -- Check for working C compiler: /usr/bin -- broken CMake Error at /usr/share/cmake-3.5/Modules/CMakeTestCCompiler.cmake:61 (message): The C compiler "/usr/bin" is not able to compile a simple test program. 
0

1 Antwort auf die Frage

1
Brendan Darrer

Für den Pfad ist der vollständige Pfad einschließlich Dateiname erforderlich.

which gcc /usr/bin/gcc  which g++ /usr/bin/g++ 
Wenn Sie bash verwenden (was Sie wahrscheinlich auch tun), ist "type" oft besser als "which". "which" ist ein externer Befehl, der keine Kenntnisse über Ihre Shell-Umgebung hat, also nicht auf Shell-Builtins oder -Funktionen reagieren kann, aber "Typ" ist eine Shell-eingebaute Funktion. `type` ist auch expliziter, wenn der angegebene Befehl nicht gefunden wird. "what" druckt nichts, aber "type" antwortet mit "not found". a CVn vor 7 Jahren 0