error trying to exec 'cc1plus': execvp: No such file or directory
程序员文章站
2022-07-15 16:59:53
...
问题描述:
安装CUDA,配置好环境变量后,python程序中import theano出错:
g++: error trying to exec 'cc1plus': execvp: No such file or directory
- 1
- 1
- 2
这个错误最初出现在编译基于theano的python程序,后来发现在交互模式下import theano时就报错。按照theano官方教程配置GPU环境[1],始终无法使用GPU。再结合g++、nvcc等关键字,于是怀疑是编译器出现了问题。
以 g++: error trying to exec ‘cc1plus’为关键字搜索,博客cloudsky[2]指出”这个错误是gcc和g++版本不兼容导致的,也有可能是安装完gcc没有安装g++”。使用find命令,发现文件cc1plus确实存在,并且存在两个版本gcc-4.9和gcc-5。
# find / -name cc1plus
/usr/lib/gcc/x86_64-linux-gnu/4.9/cc1plus
/usr/lib/gcc/x86_64-linux-gnu/5/cc1plus
至此,原因查明:
我的系统是Ubuntu15.04,默认gcc、g++编译器是-5。由于之前gcc手动降级为gcc-4.9,导致gcc-4.9与g++-5不兼容。
解决方法:g++降级
当前的版本为g++-5,需要降级为g++-4.9。
1. 安装g++-4.9
如果/usr/bin下没有g++-4.9,需要自行安装:
$sudo apt-get install g++-5
- 1
2. g++手动降级
你需要把usr/bin/目录下的gcc文件删除掉或者避免意外发生,可以把它命名为g++.bak,然后再删除链接文件g++
/usr/bin# cp g++ g++.bak
/usr/bin# rm g++
- 1
建立到g++新的软链接
#ln -s /usr/bin/g++-5 /usr/bin/g++
- 1
然后再g++ -v就可以看到当前版本就是5了。