Linux 更新 gcc 版本
文章
林里克斯
有些软件需要新版本的 gcc
环境支撑,CentOS
默认 yum
安装的 gcc
环境版本比较低
实验平台:CentOS 7.7.1908
1.编译 node
报错,需要 gcc
版本 4.9.4
./configure --prefix=/usr/local/node
WARNING: C++ compiler too old, need g++ 4.9.4 or clang++ 3.4.2 (CXX=g++)
WARNING: warnings were emitted in the configure phase
2.官网提供的下载
ftp://gcc.gnu.org/pub/gcc/releases/
http://ftp.gnu.org/gnu/gcc/
3.下载包
$ wget http://ftp.gnu.org/gnu/gcc/gcc-5.1.0/gcc-5.1.0.tar.gz
4.编译
$ tar xf gcc-5.1.0.tar.gz
$ cd gcc-5.1.0/
$ ./contrib/download_prerequisites
$ ./configure --enable-checking=release --enable-languages=c,c++ --disable-multilib
如果这一步出现 错误
configure: error: in /usr/local/src/gcc-5.4.0/gcc-build-5.4.0': configure: error: no acceptable C compiler found in $PATH Seeconfig.log’ for more details.
执行 yum install gcc
再进行上述操作
5.编译安装
$ make && make install
#特别慢
6.验证版本
$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/x86_64-unknown-linux-gnu/5.1.0/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with: ./configure --enable-checking=release --enable-languages=c,c++ --disable-multilib
Thread model: posix
gcc version 5.1.0 (GCC)
7.解决 GLIBC
版本未更新问题
$ make
make -C out BUILDTYPE=Release V=1
make[1]: Entering directory `/root/node/out'
touch b23a7b33991e9f10b7792babf8ee6bf89d24a1ab.intermediate
LD_LIBRARY_PATH=/root/node/out/Release/lib.host:/root/node/out/Release/lib.target:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH; cd ../deps/v8/gypfiles; mkdir -p /root/node/out/Release/obj/gen/torque-generated; "/root/node/out/Release/torque" ../src/builtins/base.tq ../src/builtins/array.tq ../src/builtins/array-copywithin.tq ../src/builtins/array-foreach.tq ../src/builtins/array-reverse.tq ../src/builtins/typed-array.tq ../src/builtins/data-view.tq ../third_party/v8/builtins/array-sort.tq -o "/root/node/out/Release/obj/gen/torque-generated"
/root/node/out/Release/torque: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by /root/node/out/Release/torque)
/root/node/out/Release/torque: /lib64/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by /root/node/out/Release/torque)
/root/node/out/Release/torque: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by /root/node/out/Release/torque)
make[1]: *** [b23a7b33991e9f10b7792babf8ee6bf89d24a1ab.intermediate] Error 1
rm b23a7b33991e9f10b7792babf8ee6bf89d24a1ab.intermediate
make[1]: Leaving directory `/root/node/out'
make: *** [node] Error 2
8.检查动态库
$ strings /usr/lib64/libstdc++.so.6 | grep GLIBC
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBCXX_3.4.14
GLIBCXX_3.4.15
GLIBCXX_3.4.16
GLIBCXX_3.4.17
GLIBCXX_3.4.18
GLIBCXX_3.4.19
GLIBC_2.3
GLIBC_2.2.5
GLIBC_2.14
GLIBC_2.17
GLIBC_2.3.2
GLIBCXX_DEBUG_MESSAGE_LENGTH
#缺少 GLIBCXX_3.4.20 / GLIBCXX_3.4.21
9.更新 lib
库
$ cp -rp /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
10.再次检索库
$ strings /usr/lib64/libstdc++.so.6 | grep GLIBC
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBCXX_3.4.14
GLIBCXX_3.4.15
GLIBCXX_3.4.16
GLIBCXX_3.4.17
GLIBCXX_3.4.18
GLIBCXX_3.4.19
GLIBCXX_3.4.20
GLIBCXX_3.4.21
GLIBC_2.3
GLIBC_2.2.5
GLIBC_2.14
GLIBC_2.17
GLIBC_2.3.2
GLIBCXX_DEBUG_MESSAGE_LENGTH
Over~
版权协议须知!
本篇文章来源于 Uambiguous ,如本文章侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
1498 0 2020-09-25
博主卡片
运维时间
搭建这个平台,只为分享及记载自己所遇之事和难题。
现在时间 2024-12-28
今日天气
随机推荐
01-17
Python 之路之 Python 基础 (一)
10-10
端口转发之 SSH 转发
01-29
Apache配置账号密码验证
09-22
MySQL 5.7 忘记 root 密码
07-07
深入理解Docker(一)
站点统计
- 文章总数:241篇
- 分类总数:29个
- 评论总数:12条
- 本站总访问量 353154 次
@xiaozi 最后的分享的镜像下载地址打不开 服务器没有开机吗?
@yuanyuan 为什么我的4b安装centos7.9 插上tf卡 显示不兼...
@Wong arrhenius 牛比
@MakerFace 厉害了!
@TongSir 老哥 更新下我的友链链接 https://blog.ton...