环境:

x86_64位,Redhat 7.4。

正文

按照 [参考文献1] 的过程,我在64位x86机器上编译glibc 2.18,在第4步configure阶段报以下错误:

checking for .preinit_array/.init_array/.fini_array support... no
configure: error: Need linker with .init_array/.fini_array support.

因此,需要修改一下编译命令,整理后的完整流程如下:

snippet.bash
# 1、下载文件
#下载地址:
wget https://mirrors.tuna.tsinghua.edu.cn/gnu/glibc/glibc-2.18.tar.gz
 
# 2、安装部署
#解压
tar -zxvf glibc-2.18.tar.gz
 
# 3、创建编译目录
cd glibc-2.18 
mkdir build
 
# 4、编译、安装
cd build/
../configure CFLAGS=" -O2" --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin --build=x86_64-linux-gnu
 
make -j 8
make install

参考