ubuntu18.04 编译glibc-2.23
记录一下过程
首先是下载glibc并解压
wget https://ftp.gnu.org/gnu/glibc/glibc-2.23.tar.gz
手动编译glibc
tar -zxvf glibc-2.23.tar.gz
cd glibc-2.23
mkdir build
sudo apt install gawk
CFLAGS="-g -g3 -ggdb -gdwarf-4 -Og -Wno-error" CXXFLAGS="-g -g3 -ggdb -gdwarf-4 -Og -Wno-error" ../configure --prefix=/home/aaa/glibc-2.23/64
sudo make -j8
sudo make install
错误1
/tmp/ccPRCqlU.s: Error: `loc1@GLIBC_2.2.5' can't be versioned to common symbol 'loc1'
/tmp/ccPRCqlU.s: Error: `loc2@GLIBC_2.2.5' can't be versioned to common symbol 'loc2'
/tmp/ccPRCqlU.s: Error: `locs@GLIBC_2.2.5' can't be versioned to common symbol 'locs'
方法是修改glibc-2.23/misc/regexp.c
文件,修改这4处
#include <stdlib.h> //开头加上这个头文件
char *loc1 = NULL; //33行左右
char *loc2 = NULL;
char *locs = NULL; //39行
错误2
Warning: ignoring configuration file that cannot be opened: /home/assassinq/glibc-2.23/64/etc/ld.so.conf: No such file or directory
解决方法
cd ../64/etc && sudo touch ld.so.conf
然后再make install
就安装完成了
- 原文作者:sakai
- 原文链接:http://segogt.github.io/post/ubuntu18-04-%E7%BC%96%E8%AF%91glibc-2-23/
- 版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可,非商业转载请注明出处(作者,原文链接),商业转载请联系作者获得授权。