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.
相关推荐
langmeng1108 分钟前
使用docker在3台服务器上搭建基于版本redis 6.x的一主两从模式
运维·redis·docker·容器·集群
jllllyuz18 分钟前
如何为服务器生成TLS证书
运维·服务器·数据库
简朴-ocean28 分钟前
如何删除linux空的文件夹
linux·运维·服务器
Code Warrior1 小时前
【Linux】Linux基础指令3
linux·服务器
leblancAndSherry1 小时前
Gitlab + Jenkins 实现 CICD
linux·运维·docker·kubernetes·gitlab·jenkins
光路科技2 小时前
TSN交换机正在重构工业网络,PROFINET和EtherCAT会被取代吗?
服务器·网络·重构
半桔2 小时前
【Linux手册】探秘系统世界:从用户交互到硬件底层的全链路工作之旅
linux·运维·服务器·面试·centos
wanhengidc2 小时前
服务器中CC攻击的特点有哪些?
运维·服务器
小杜的生信筆記2 小时前
生信服务器 | 做生信为什么推荐使用Linux服务器?
linux·运维·服务器
luopeng2076634362 小时前
虚拟局域网中配置某台服务器作为网关的方案
运维·服务器·php