更新CentOS 7的Develop Toolset

结合 Red Hat Developer Toolset > 12 > User Guide > Chapter 1. Red Hat Developer ToolsetLFS(Linux from scratch) 构建 LFS 交叉工具链和临时工具 章节可以知晓 在CentOS 7环境源码编译Python 3 的Develop Toolset包括:

Develop Toolset(不包含debugger相关工具)

软件

说明

GCC

支持C/C++/Fortran的可移植编译套件

binutils

一系列二进制工具用于检查(inspect)和操作(manipulate)对象文件和二进制文件

elfutils

一系列二进制工具用于检查和操作ELF文件

make

依赖跟踪的build自动工具

GCC

  • 升级CentOS 7 GCC 部署安装的是 GCC 10.5.0,我在本文实践中会用这个版本GCC再次编译升级最新版本GCC

由于系统已经具备了 binutils, gcc 10.5.0 ,所以相当于 LFS(Linux from scratch) 再次进行,参考顺序:

  • make-4.4.1

  • binutils-3.8.2

  • gcc-12.2

  • elfutils

make

  • 升级 make:

升级make
version=4.4.1

wget http://ftp.gnu.org/gnu/make/make-${version}.tar.gz

tar xfz make-${version}.tar.gz
cd make-${version}
./configure
make
sudo make install
alias make="/usr/bin/make -j 96"

binutils

  • 升级 binutils:

升级binutils
version=2.41

wget --no-check-certificate https://ftp.gnu.org/gnu/binutils/binutils-${version}.tar.gz

tar xfz binutils-${version}.tar.gz
cd binutils-${version}
./configure
make
sudo make install

gcc

  • 升级gcc( 10.5.0 => 13.2 )

升级gcc
version=13.2.0

wget http://ftp.tsukuba.wide.ad.jp/software/gcc/releases/gcc-${version}/gcc-${version}.tar.gz
tar xfz gcc-${version}.tar.gz
cd gcc-${version}

# 64位操作系统没有安装32位开发库,一般也用不上,所以使用 --disable-multilib 参数
# 仅编译支持c/c++
# 如果要指定安装目录,可以使用类似 --prefix=$HOME/.gcc/13.2.0 这样的参数
./configure --disable-multilib --enable-languages=c,c++
make
sudo make install

elfutils

  • 升级elfutils

升级elfutils
wget https://sourceware.org/elfutils/ftp/elfutils-latest.tar.bz2

tar xfj elfutils-latest.tar.bz2
cd elfutils-*
./configure --disable-libdebuginfod --disable-debuginfod
make
sudo make install

备注

在完成 Developer Toolkit 之后,从源代码 在CentOS 7环境源码编译Python 3

参考