Chinaunix首页 | 论坛 | 博客
  • 博客访问: 4528487
  • 博文数量: 1148
  • 博客积分: 25453
  • 博客等级: 上将
  • 技术积分: 11949
  • 用 户 组: 普通用户
  • 注册时间: 2010-05-06 21:14
文章分类

全部博文(1148)

文章存档

2012年(15)

2011年(1078)

2010年(58)

分类: 嵌入式

2011-05-03 14:57:10


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
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
而 我用的是最新的稳定版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,希望不必如此。
阅读(944) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~