Как правильно расположить gcc на моем компьютере с Ubuntu 16.04?

3371
Brendan Darrer

Я пытаюсь собрать программный пакет Trilinos, и я думаю, что это не удалось, потому что он не мог найти каталог компилятора C правильно. Кто-нибудь может сказать, какое правильное местоположение gccнаходится на моем компьютере Ubuntu 16.04? Мне на самом деле нужны каталоги C, C ++ и fortran.

Я использую скрипт сборки:

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 

Я использовал каталоги:

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

Я предполагаю, что C есть gcc-5, C ++ есть, g++-5а fortran есть gfortran-5?

Каталог должен быть /usr/lib/gcc/x86_64-linux-gnuиз Linux C Compiler ?

Сборка cmake выдает сообщение об ошибке (конечная часть вывода сборки):

-- 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 ответ на вопрос

1
Brendan Darrer

Путь требует полного пути, включая имя файла, используя:

which gcc /usr/bin/gcc  which g++ /usr/bin/g++ 
Если вы используете bash (что вы, вероятно, делаете), `type` часто лучше, чем` which`. `which` - это внешняя команда, которая не имеет никаких сведений о вашей среде оболочки, поэтому не может отвечать, например, на встроенные функции или функции оболочки, но` type` - встроенная оболочка, что может. `type` также более явный, когда данная команда не найдена; `which` ничего не печатает, но` type` отвечает "not found". a CVn 7 лет назад 0