升级GCC
日志编号:277 发表时间: 2020-05-28 04:24:03 关注次数:272编译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
这问题貌似在某些yum update情况下又会发生,估计是yum更新了旧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
这问题貌似在某些yum update情况下又会发生,估计是yum更新了旧gcc覆盖了文件所致。重新建立软链接即可。
本站不提供讨论功能。
本站所有非新闻类文章均为原创,且禁止转载。
本站为了获得更多流量赚取广告费,难免会有以次充好的文章,望见谅,勿鄙视。
本站所有非新闻类文章均为原创,且禁止转载。
本站为了获得更多流量赚取广告费,难免会有以次充好的文章,望见谅,勿鄙视。