在 Ubuntu 17.04 上编译 Torch:不支持 GCC 版本 >5 和 Gcc 错误:gcc:尝试执行“cc1”时出错:execvp:没有此文件或目录

在 Ubuntu 17.04 上编译 Torch:不支持 GCC 版本 >5 和 Gcc 错误:gcc:尝试执行“cc1”时出错:execvp:没有此文件或目录

在 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!

修复此问题后,我收到另一个类似以下的错误:

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 设置有关。

答案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已安装)。

相关内容