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,希望不必如此。
阅读(935) | 评论(0) | 转发(0) |