免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 920 | 回复: 0
打印 上一主题 下一主题

LFS6.3rc1中编译perl“page.h缺失”错误的解决 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-12-21 08:41 |只看该作者 |倒序浏览

http://zhengxiang84.blog.163.com/blog/static/117538222008322115254764/



在LFS6.3rc1里,编译到Chapter 6. Installing Basic System Software中的perl-5.8.8时,make通不过,报error: asm/page.h: No such file or directory,然后在/usr/include/asm里找,果然没有这个文件,在/mnt/lfs里搜,依然没有,上网搜了下,发现在 gentoo论坛里有类似的问题,看来是linux-header的版本问题。
      然后,我查阅了linux-kernel官网里的changelog,发现从2.6.24版本以后的kernel里面就没有page.h这个文件了,原文如下:Date: Wed Nov 14 17:00:27 2007 -0800

uml: remove last include of libc asm/page.h

asm/page.h is disappearing from the libc headers and we don't need it anyway.

Signed-off-by: Jeff Dike <jdike@linux.intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
而 我用的是最新的稳定版2.6.25,所以出现了前文提示的错误。当然,要解决的话可以重下低版本的内核,比如LFS手册里推荐的是2.6.22.x的最新 版,然后重编译安装linux API headers,再重编译perl,也可能需要把手册中顺序在linux API headers后面的包都重编译安装一遍(这样保险,但其实也不是完全必要,这要根据后面软件对linux API header的依赖程度而定)。
我 的解决方法是:将主机系统(unbuntu7.10)里内核源码里的对应文件/usr/src/linux-headers-2.6.22-14 /include/asm-i386/page.h考到/mnt/lfs/usr/local/include里,然后建立到/mnt/lfs/usr /include/asm的符号链接,然后重新配置编译perl-5.5.8,结果顺利通过编译,并全部测试通过。当然,这只解决了perl编译的问题, 以后会不会出现因为linux-headers版本的问题,还未可知,这得等我这把这一遍LFS编完才行。不过,如果还不行的话,我就得重新下内核,很多 工作得重来了!God,希望不必如此。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP