更新CentOS 7的Develop Toolset¶
结合 Red Hat Developer Toolset > 12 > User Guide > Chapter 1. Red Hat Developer Toolset 和 LFS(Linux from scratch) 构建 LFS 交叉工具链和临时工具
章节可以知晓 在CentOS 7环境源码编译Python 3 的Develop Toolset包括:
软件 |
说明 |
---|---|
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:
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
配置 并行make (
~/.bash_profile
):
alias make="/usr/bin/make -j 96"
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 )
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
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
参考¶
Red Hat Developer Toolset > 12 > User Guide > Chapter 1. Red Hat Developer Toolset 根据Red Hat官方资料可以了解Developer Toolset涉及哪些软件包需要更新,以便一一手工升级