glibc 下载及编译

glibc下载站点

http://ftp.gnu.org/pub/gnu/glibc/ 下载点
http://www.gnu.org/software/libc/bugs.html 官网

如何编译

在glibc的上层目录创建build_out目录以及config目录,用来存放编译后的库文件以及makefile

$ ls
build_out   glibc-2.24  glibc-2.24.tar
$ 
../glibc-2.24/configure --prefix=/xxx/glibc/build_out \
CC=aarch64-himix100-linux-gcc \
CXX=aarch64-himix100-linux-g++ \
--target=aarch64-linux-gnu --host=aarch64-linux-gnu
$ make

1.不能在glibc目录里面执行configure 生成makefile,需要在其glibc之外的目录下执行configure
这里我创建了一个目录config,专门用来放配置文件
2.上述编译为aarch64平台,32位–target=arm-linux --host=arm-linux采用这种配置,同时修改交叉编译器
3.在config目录下直接make就行
4.最后make install 即可

$ make
报错
/tmp/ccYcAjzA.s: Error: `loc1@GLIBC_2.17' can't be versioned to common symbol 'loc1'
/tmp/ccYcAjzA.s: Error: `loc2@GLIBC_2.17' can't be versioned to common symbol 'loc2'
/tmp/ccYcAjzA.s: Error: `locs@GLIBC_2.17' can't be versioned to common symbol 'locs'

1.编译有可能报错
2.修改glibc-2.24\misc\regexp.c文件 将loc定义添加属性临时修改

//char *loc1;
//char *loc2;
char *loc1 __attribute__ ((nocommon));
char *loc2 __attribute__ ((nocommon));

//char *locs;
char *locs __attribute__ ((nocommon));

猜你喜欢

转载自blog.csdn.net/weixin_41884251/article/details/110468965
今日推荐