Chinaunix首页 | 论坛 | 博客
  • 博客访问: 927799
  • 博文数量: 146
  • 博客积分: 3321
  • 博客等级: 中校
  • 技术积分: 1523
  • 用 户 组: 普通用户
  • 注册时间: 2008-08-29 10:32
文章分类

全部博文(146)

文章存档

2014年(2)

2013年(5)

2012年(4)

2011年(6)

2010年(30)

2009年(75)

2008年(24)

分类: LINUX

2009-08-24 21:15:28

开始决定按照LFS6.4版本进行DIY,后来在编译到binutils第一个软件包时就遇到了问题,首先是上一篇文章中提到的关于缺少makeinfo的错误,后来编译通过了,但是安装始终无法成功。最后决定先从6.3版本开始尝试。下面是6.3编译过程遇到的问题。

我编译6.3版本时是参考下面两篇文章进行的



1.这是遇到的第一个问题,在我第一次编译glibc时,当我执行完
 
../glibc-2.5.1/configure --prefix=/tools \
--disable-profile --enable-add-ons \
--enable-kernel=2.6.0 --with-binutils=/tools/bin \
--without-gd --with-headers=/tools/include \
--without-selinux
这一步时,没有按照预期的在glibc-build目录下生成Makefile等文件,而只是生成了一个config.log文件,
而且出现这样的错误提示:configure: error: Need linker with .init_array/.fini_array support.
我怀疑是由于我在安装完gcc之后按照执行了
rm -rf gcc-build
rm -rf gcc-4.1.2造成的,但是想一下这些文件是和后边的毫不相干的,在网上找有人说这是由于binutils版本太低造成的
所以很有可能是前面编译binutils时出现了问题。同时看到在手册中并没有在安装完gcc之后进行删除操作,我怀疑这有可能
是另外的原因。因此我只好从头来过,这次我按照手册进行编译,问题解决了。具体是由于什么原因,暂时还不知道,现记在这里。

2.在第一次编译到glibc时按照官方手册上的说明我在make完成之后进行了make check这时出现了两处错误。开始我怀疑是编译出错了,于是就寻找解决方法,后来看到牛人的文章发现这时进行make check是不合适的。在我重新make完成之后我就直接跳过文档中的make check这步,直接进行下面的install部分,发现可以正常安装


3.编译expect5.43时出现错误。

  执行完
  ./configure --prefix=/tools --with-tcl=/tools/lib \     
  --with-tclinclude=/tools/include --with-x=no

  之后出现错误提示:
  /tools/lib directory doesn't contain tclConfig.sh
  这可能是由于前边编译tcl8.4.15出错。解决方法:重新编译tcl8.4.15
  然后重新编译tcl8.4.15,发现在执行完
  ./configure —prefix=/tools 的最后一行就是Creating      
  tclConfig.sh。看来就是前边编译tcl时出了问题。



4.在第二此编译gcc的时候,make没有发现错误,但是执行make -k check时
  出现错误提示:Target `check' not remade because of errors.
  我决定现忽略这个问题,直接进行make install。make install能够正常
  执行。
  安装完成之后
次测试工具链的调整,以确保刚刚编译的gcc正确工作
echo 'main(){}' > dummy.c
cc dummy.c
readelf -l a.out | grep 'tools'
如果输出大致如下
[Requesting program interpreter: /tools/lib/ld-linux.so.2]
则表示调整成功,因为所有的库已经连接到了/tools/lib下。
rm -rf a.out dummy.c
发现此时测试也能够通过。



5.编译bash-3.2执行make时出现错误提示:缺少yacc工具。解决方法:
  sudo apt-get install bison
  然后重新解压bash-3.2.tar.gz从头再来,问题解决!
  关于yacc的问题可以在
这里找到介绍

6. 执行到第六章的时候开始安装

Linux-2.6.27.4 API Headers出现下面的错误提示:


root:/sources/linux-2.6.22.5# make mrproper
/sources/linux-2.6.22.5/scripts/gcc-version.sh: line 11: /tools/bin/gcc: No such file or directory
/sources/linux-2.6.22.5/scripts/gcc-version.sh: line 12: /tools/bin/gcc: No such file or directory
make: gcc: Command not found

这可能是第五章调整工具链时出现了问题。

阅读(4126) | 评论(0) | 转发(0) |
0

上一篇:fdisk 使用方法

下一篇:linux编程FAQ

给主人留下些什么吧!~~