服务器跑dit时编译flash-atten以及pytorch的cuda版本检查出错,分别报错题目以及如下:
想了下是系统找不到编译器
subprocess.CalledProcessError: Command '['which', 'c++']' returned non-zero exit status 1.
备案,以后有人要用12我还得换回来
方案一:更改gcc和gcc+的版本
没有合适的版本的话需要root权限指定版本安装
安装好以后设置优先级如下:
查看两种编译器版本号:
gcc -v
g++ -v
设置两种编译器多版本优先级:
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 40
xym@try2019-Super-Server:/usr/bin$ sudo update-alternatives --config gcc
There are 2 choices for the alternative gcc (providing /usr/bin/gcc).
Selection Path Priority Status
0 /usr/bin/gcc-12 50 auto mode
* 1 /usr/bin/gcc-11 40 manual mode
2 /usr/bin/gcc-12 50 manual mode
Press <enter> to keep the current choice[*], or type selection number:
g++ -v
Command 'g++' not found, but can be installed with:
apt install g++
sudo update-alternatives --config g++
0 /usr/bin/g++-12 50 auto mode
* 1 /usr/bin/g++-11 40 manual mode
2 /usr/bin/g++-12 50 manual mode
Press <enter> to keep the current choice[*], or type selection number:
方案二:
重新安装cuda-toolkit,因为它的版本和cuda对不上,但是有一些风险,这里不做推荐