编译glibc

记录编译glibc-2.15出现找不到cpuid.h时的解决方法。

深度探索Linux操作系统》这边书的操作步骤参考网站:

http://www.kissthink.com/archive/shen-du-tan-suo--i-n-u-x-cao-zuo-xi-tong--xi-tong-gou-jian-he-yuan-li-jie-xi---gong-ju-bian-yi--.html



编译glibc-2.15时,先进行配置:

../glibc-2.15/configure \

--prefix=/usr --host=$TARGET \

--enable-kernel=3.7.4 --enable-add-ons \

--with-headers=$SYSROOT/usr/include \

libc_cv_forced_unwind=yes libc_cv_c_cleanup=yes \

libc_cv_ctors_header=yes


出现找不到"cpuid.h"的错误,在《深度探索Linux操作系统》这边书上是要先打一个glibc-2.15-cpuid.path这个补丁。但是找半天就是找不到这个补丁。

后来去查看配置文件到底怎么执行的,发现sysdeps/x86_64/configure 调用sysdeps/i386/configuers。

打开sysdeps/i386/configuers 再这里面查找"cpuid.h",妈蛋,仇人相见分外眼红,管他三七二十一,先把与它相关的代码屏蔽掉。大概在第635行:

#ac_fn_c_check_header_mongrel "$LINENO" "cpuid.h" "ac_cv_header_cpuid_h" "$ac_includes_default"
#if test "x$ac_cv_header_cpuid_h" = xyes; then :
#
#else
  #as_fn_error $? "gcc must provide the <cpuid.h> header" "$LINENO" 5
#fi


然后再配置编译,没有出现问题了。

最后执行:make install_root=$SYSROOT install

$SYSROOT = /vita/sysroot

查看下成果:

# ls /vita/sysroot/
etc  lib64  sbin  usr  var




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值