Компиляция Torch в Ubuntu 17.04: нет поддержки версии GCC>5 и ошибки Gcc: gcc: ошибка при попытке выполнить cc1: execvp: нет такого файла или каталога

Во время установки факела на Ubuntu 17.04 я столкнулся с несколькими проблемами.

Первый отчет после попытки скомпилировать torch был похож на https://stackoverflow.com/questions/6622454/cuda-incompatible-with-my-gcc-version

давая мне что-то вроде

error -- unsupported GNU version! gcc >5 are not supported!

После того, как я исправил это, я получил еще одну ошибку, похожую на эту:

https://stackoverflow.com/questions/11912878/gcc-error-gcc-error-trying-to-exec-cc1-execvp-no-such-file-or-directory

Gcc error: gcc: error trying to exec 'cc1': execvp: No such file or directory

Хочу также добавить, что это связано с моей настройкой cuda.

2 ответа

Решение

Я исправил первую ошибку, установив gcc-5:

sudo apt-get install gcc-5

затем он сказал, что не может найти cc1, поэтому я сделал

which cc1

который вернулся пустым. Это потому, что я не установил g++-5

sudo apt-get install gcc-5 g++-5

затем мы хотим сделать это нашим gcc по умолчанию, поэтому

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 1

и наконец

./install.sh

в каталоге факел работает. Это похоже на подход здесь: https://gist.github.com/beci/2a2091f282042ed20cda

начало работы факела, с которого все началось: http://torch.ch/docs/getting-started.html

надеюсь, это поможет кому-то

У меня была почти такая же ошибка:

gcc: ошибка при попытке выполнить exc 'cc1': execvp: такого файла или каталога нет

Я погуглил и прибыл сюда. Итак, ради помощи людям с моей той же проблемой... Моя ошибка была в другом контексте: попытка скомпилировать программу go, импортирующую драйвер go-sqlite3...

в моём случае (убунту 16.10 яккетый як) sudo find /usr/ -name cc1 показал, что был установлен cc1, даже несколько версий:

/usr/lib/gcc/x86_64-linux-gnu/4.9/cc1
/usr/lib/gcc/x86_64-linux-gnu/5/cc1
/usr/lib/gcc/x86_64-linux-gnu/6/cc1

Я бегал which gcc и мог видеть, что gcc указывает на мой каталог bin драйвера nvidia cuda, который включает gcc...

В моем случае это были некоторые остаточные вещи, которые я не удалил должным образом, поэтому мне пришлось вручную удалить этот каталог из моего $PATH в моем .bashrc, Я закрыл свой терминал (я мог бы запустить source ~/.bashrc), подтверждено which gcc что он указывал на правильный (/usr/bin/gcc) попытался перекомпилировать мою программу go, и на этот раз она работала без ошибок.

Я знаю, что это может быть не идеальный ответ, но это может указывать на личность, имеющую такое же сообщение об ошибке, для дальнейшего изучения такого рода вещей.

Конечно, проверьте, какую версию gcc вы используете, и установите "сопутствующий" g++, который вам нужен. В моем случае это было: g++-4.9 (уже установлено).

Другие вопросы по тегам