分类: LINUX
2014-10-08 18:21:06
今天回来开始折腾LFS工具链的第一步,编译binutils。本来是想沿着教程一步一步走 的哈,但是看到新的版本又感觉似乎总是在对自己说哈:“新版本应该更稳定吧。。。”,结果就失控了哈,下了最新的binutils-2.18。然后,无奈 的喊一句:我好点背阿。编译第一步就没有编译过去。编译到一半提示:
WARNING: `texinfo' is needed, and is missing on your system. You might have modified some files without having the proper tools for further handling them. Check the `README' file, it often tells you about the needed prerequisites for installing this package. You may also peek at any GNU archive site, in case some other package would contain this missing `texinfo' program. |
一看还真没装texinfo,于是乎装了个texinfo去,结果装完texinfo竟然还是这个提示,这下子我就无语了。折腾了两个多小时,终于找到了原因,configure.ac里2405行:
if ${MAKEINFO} --version \ | egrep 'texinfo[^0-9]*([1-3][0-9]|4\.[4-9]|[5-9])' >/dev/null 2>&1; then |
估 计原作者的意思是texinfo的版本,要么是10-39,要么是4.4+,要么是5+。但是哈,这个正则表达式的却将4.4+的意思表达成了 4.4-4.9,无语阿,一看我的texinfo的版本正好是4.11。郁闷。改之,将正则表达式改为'texinfo[^0-9]*([1-3] [0-9]|4\.[4-9]|4\.[1-9][0-9]*|[5-9])',再一跑,还不正常,我愤他。。。。
继续又折腾了许久,突然发现configure的6131行竟然也有上面两行代码,怒阿,这明显违反了程序员的思想,一份代码只应该有一份实例嘛(虽然我也老违反哈)。将上面两处代码改掉。终于编译通过。