centos7环境升级默认的gcc 4.8.5到gcc 8.2.0, 并且升级glibc到glibc 2.28

这里写目录标题

make

复制代码
#下载
wget http://ftp.gnu.org/gnu/make/make-4.2.tar.gz
tar -xf make-4.2.tar.gz
cd make-4.2
./configure
make -j4
make install
mv /usr/bin/make /usr/bin/make_bak
cp ./make /usr/bin/

make -v
GNU Make 4.2
Built for x86_64-pc-linux-gnu
Copyright (C) 1988-2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

gcc

复制代码
#下载
wget https://ftp.gnu.org/gnu/gcc/gcc-8.2.0/gcc-8.2.0.tar.gz
tar xf gcc-8.2.0.tar.gz
cd gcc-8.2.0
./contrib/download_prerequisites
mkdir build
cd build/
../configure --prefix=/usr/local/gcc-8.2.0 --enable-bootstrap --enable-checking=release --enable-languages=c,c++ --disable-multilib
make -j 8
make  install

vim /etc/profile.d/gcc.sh
export PATH=/usr/local/gcc-8.2.0/bin:$PATH
export MANPATH=/usr/local/gcc-8.2.0/share/man:${MANPATH}
export INFOPATH=/usr/local/gcc-8.2.0/share/info${INFOPATH:+:${INFOPATH}}
export LD_LIBRARY_PATH=/usr/local/gcc-8.2.0/libexec/gcc/x86_64-pc-linux-gnu/8.2.0:/usr/local/gcc-8.2.0/lib64:/usr/local/gcc-8.2.0/lib/gcc/x86_64-pc-linux-gnu/8.2.0/plugin${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

source /etc/profile.d/gcc.sh

gcc -v
使用内建 specs。
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/local/gcc-8.2.0/libexec/gcc/x86_64-pc-linux-gnu/8.2.0/lto-wrapper
目标:x86_64-pc-linux-gnu
配置为:../configure --prefix=/usr/local/gcc-8.2.0 --enable-bootstrap --enable-checking=release --enable-languages=c,c++ --disable-multilib
线程模型:posix
gcc 版本 8.2.0 (GCC) 

ln -sv /usr/local/gcc-8.2.0/include/ /usr/include/gcc
ldconfig -v

rm -f /lib64/libstdc++.so
ln -sv  /usr/local/gcc-8.2.0/lib64/libstdc++.so.6.0.25 /lib64/libstdc++.so
cp /usr/local/gcc-8.2.0/lib64/libstdc++.so.6.0.25   /lib64/
rm -f  /lib64/libstdc++.so.6
ln -sv  /lib64/libstdc++.so.6.0.25   /lib64/libstdc++.so.6

glibc

复制代码
#下载
wget https://ftp.gnu.org/gnu/glibc/glibc-2.28.tar.gz
tar xf glibc-2.28.tar.gz
cd glibc-2.28
 ../configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin
make -j 8 && make  install

#验证
strings /usr/local/gcc-8.2.0/lib64/libstdc++.so.6 | grep ^GLIBCXX_
strings /lib64/libc.so.6 | grep ^GLIBC
ldd --version
ldd (GNU libc) 2.28
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Written by Roland McGrath and Ulrich Drepper.
相关推荐
阿杰技术10 分钟前
SillyTavern(酒馆)AI聊天:本地与云服务器部署全攻略
运维·服务器
网络与设备以及操作系统学习使用者16 分钟前
vi与vim在openEuler中的差异及应用
linux·运维·网络·学习·vim
专注VB编程开发20年19 分钟前
python运行提速方案全解
java·linux·服务器
ylscode33 分钟前
巨齿鲨突袭GitHub:5500余仓库沦陷,开源供应链安全防线再遭重创
运维·服务器·网络·安全·安全威胁分析
shy_snow41 分钟前
Nginx解决跨域问题
运维·nginx
c++逐梦人42 分钟前
epoll ET服务器(Reactor模式)
运维·服务器·php
丁劲犇1 小时前
使用TraeAI开发Web页面测试MSYS2 ucrt64 Qt MCP服务器
服务器·前端·c++·qt·mcp
菜鸡儿齐1 小时前
Future接口学习
java·服务器·开发语言
牛奔1 小时前
codebuddy 桌面版 如何配置自己的模型
运维·服务器·开发语言·php
SilentSamsara1 小时前
日志与可观测性:logging 进阶配置与结构化日志实战
运维·开发语言·python·青少年编程