您的位置:博客首页 >> Web服务器 >> 升级GCC

升级GCC

日志编号:277 发表时间: 2020-05-28 04:24:03 关注次数:45
编译MySQL时要求高版本GCC:
GCC 5.3 or newer is required (-dumpversion says 4.8.5)

下载编译:
gcc-5.5.0.tar.gz
mv /home/www/gcc-5.5.0.tar.gz /root
tar zxvf gcc-5.5.0.tar.gz
cd gcc-5.5.0
./contrib/download_prerequisites

mkdir build && cd build

../configure --enable-checking=release \
--enable-languages=c,c++ --disable-multilib

make && make install
编译时间挺久的。

之后在编译时mysql8.0报错/runtime_output_directory/uca9dump: /lib64/libstdc++.so.6: version `CXXABI_1.3.9' not found

是因为新编译的GCC并没把新的文件放置到对应目录。
通过strings /usr/lib64/libstdc++.so.6|grep CXXABI发现并没CXXABI_1.3.9

有三种方法(二和三是一样的)解决:
一是添加环境变量,然系统识别到文件路径:
# vi .bashrc
添加环境变量后保存退出
LD_LIBRARY_PATH=/usr/local/lib64/:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH
 
执行 source ~/.bashrc 生效。

二是把新文件放置到/usr/lib64目录下:

cp /usr/local/lib64/libstdc++.so.6.0.21 /usr/lib64/
rm -rf /usr/lib64/libstdc++.so.6
ln -s /usr/lib64/libstdc++.so.6.0.21 /usr/lib64/libstdc++.so.6


三是建立软链接
rm -rf /usr/lib64/libstdc++.so.6
ln -s /usr/local/lib64/libstdc++.so.6.0.21 /usr/lib64/libstdc++.so.6


这样就搞定了。推荐使用第3种方法,因为:https://www.flashgou.com/show/279

http://gcc.gnu.org/onlinedocs/libstdc++/faq.html#faq.how_to_set_paths
本站不提供讨论功能。
本站所有非新闻类文章均为原创,且禁止转载。
本站为了获得更多流量赚取广告费,难免会有以次充好的文章,望见谅,勿鄙视。