在安装yolov5的过程中,训练时需要’GLIBCXX_3.4.21’,这是gcc版本较低造成的,需要将自带的4.8.5升级,记录一下本人亲测的升级步骤。
1. 下载源码包和依赖库
原始地址下载慢,我在百度上手动搜索下载好了,源码包和依赖库如下:
链接:https://pan.baidu.com/s/1g8jRSAoi4CWWLS03iywEUw
提取码:47pm
解压源码包,tar zxvf gcc-8.3.0.tar.gz
cd gcc-8.3.0
并将刚才下载的另外4个压缩包复制进去
执行 ./contrib/download_prerequisites
会自动生成gmp、isl、mpc、mpfr的软链接。
2. 在新目录中配置、编译、安装
mkdir build # 创建build文件夹,文件夹名可随意
cd build
../configure --prefix=/usr/local/gcc --enable-languages=c,c++ --disable-multilib
make # 编译要很久,大概2小时左右
make install
3. 删除之前的版本后查看gcc版本
yum -y remove gcc
sudo gedit /etc/profile.d/gcc.sh # 用文本编辑打开该文件
export PATH=$PATH:/usr/local/gcc/bin # 输入该语句
source /etc/profile.d/gcc.sh # 更新
gcc -v # 查看版本会输出 8.3.0表示安装成功
4. 解决’GLIBCXX_3.4.21’ not found
sudo cp /usr/local/lib64/libstdc++.so.6.0.25 /lib64 # 复制文件
cd /lib64
rm -rf libstdc++.so.6
ln -s libstdc++.so.6.0.25 libstdc++.so.6 # 添加软链接
执行以下命令来查看’GLIBCXX_3.4.21’
strings /lib64/libstdc++.so.6 | grep GLIBC
看到已经有’GLIBCXX_3.4.21’了,接下来就可以愉快的训练YOLOv5啦。