/usr/include/c++/10/chrono:473:154: required from here
/usr/include/c++/10/chrono:428:27: internal compiler error: 段错误
428 | _S_gcd(intmax_t __m, intmax_t __n) noexcept
| ^~~~~~
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-10/README.Bugs> for instructions.
error: command '/usr/local/cuda-11.4/bin/nvcc' failed with exit status 1
类似于上述的错误,其原因是cuda11的版本与gcc10不兼容所导致的
解决方法:将gcc10降级为gcc10以下(多gcc版本共存,不卸载gcc10)
1.安装所需要的gcc版本(以gcc7为例)
sudo apt install gcc-7 g++-7
2.查看已经安装的gcc版本
ls /usr/bin/gcc*
3.替换成你要用的版本
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 100 # gcc-7替换成你要用的版本
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 50 # 添加一些可能会用的版本,方便改回来
这里的gcc版本根据你的实际情况选择。最后一个参数是优先级,值最大的选项会被选用。通过调整优先级的值,实现gcc版本切换(例如上面的gcc-7的优先级数值设置为100,高于gcc-9,那么系统会应用gcc-7)
4.查看版本验证是否成功
gcc -v
参考链接:
1.https://www.cnblogs.com/xiaohuidi/p/15471899.html
2.https://www.jianshu.com/p/a508a6e0e0b7