在 Ubuntu 17.04 上安装 torch 时,我遇到了一些问题。
尝试编译 Torch 后的第一份报告类似于 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 设置有关。
答案1
我通过安装 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
在 torch 目录中有效。这与此处的方法类似: https://gist.github.com/beci/2a2091f282042ed20cda
火炬开始启动,一切由此开始:http://torch.ch/docs/getting-started.html
希望这对某人有帮助
答案2
我遇到了几乎相同的错误信息:
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 驱动程序 bin 目录,其中包括 gcc...
在我的情况下,这是一些我没有正确卸载的残留东西,所以我不得不手动从我$PATH
的中删除该目录.bashrc
。我关闭了终端(我可以运行source ~/.bashrc
),用which gcc
它验证它指向正确的终端(/usr/bin/gcc
)尝试重新编译我的 go 程序,这次它没有任何错误。
我知道这可能不是完美的答案,但它可能会指出有相同错误信息的人需要进一步调查这类事情。
当然,请检查您使用的 gcc 版本,并安装所需的“配套” g++。就我而言,它是:(g++-4.9
已安装)。