Ubuntu 17.04にトーチをインストールしているときに、いくつかの問題が発生しました。
トーチをコンパイルしようとした後の最初のレポートは https://stackoverflow.com/questions/6622454/cuda-incompatible-with-my-gcc-version に似たものでした
私に
error -- unsupported GNU version! gcc >5 are not supported!
これを修正した後、次のような別のエラーが発生しました。
Gcc error: gcc: error trying to exec 'cc1': execvp: No such file or directory
また、これが私のcudaセットアップと関連していることをここに追加します。
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: 'cc1'を実行しようとしてエラー:execvp:そのようなファイルまたはディレクトリはありません
グーグルでここに到着しました。私の同じ問題を抱える人々を助けるために...私のエラーは異なるコンテキストにありました:go-sqlite3ドライバーをインポートするgoプログラムをコンパイルしようとしました...
私の場合(ubuntu 16.10 yakkety yak)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がnvidia cuda driver binディレクトリを指していることがわかりました。
私の場合、これは適切にアンインストールしなかった残りのものであったため、$PATH
の.bashrc
からそのディレクトリを手動で削除する必要がありました。端末を閉じた(source ~/.bashrc
を実行できた)、適切な端末(which gcc
)を指していることを/usr/bin/gcc
で検証し、goプログラムを再コンパイルしようとした今回はエラーなし。
私はこれが完璧な答えではないかもしれないことを知っていますが、この種のものをさらに調査するために同じエラーメッセージを持っている人を指しているかもしれません。
もちろん、使用しているgccのバージョンを確認し、必要な「コンパニオン」g ++をインストールしてください。私の場合は、g++-4.9
(インストール済み)です。