如果你在編譯 cross-compiler 出現下列錯誤訊息,請不用驚慌,這是 binutils-2.18 的 bug,據說已經在較新版本中修正。
WARNING: `makeinfo' is missing on your system. You should only need it if
you modified a `.texi' or `.texinfo' file, or any other file
indirectly affecting the aspect of the manual. The spurious
call might also be the consequence of using a buggy `make' (AIX,
DU, IRIX). You might want to install the `Texinfo' package or
the `GNU make' package. Grab either from any GNU archive site.
在 binutils 目錄裡的 configure 與 configure.ac 中搜尋 missing makeinfo 可以找到如下行:
| egrep 'texinfo[^0-9]*([1-3][0-9]|4\.[4-9]|[5-9])' >/dev/null 2>&1; then
很明顯的,這個正規式(regular expression)有點問題,因為他是判斷 1x~3x 或 4.4+ 或 5+ 版本,結果我的 makeinfo 剛好是 4.13!
所以就幫他修改一下改成下面這樣變成判斷 4.x/4.xx 就可以了
| egrep 'texinfo[^0-9]*([1-3][0-9]|4\.[0-9][0-9]*|[5-9])' >/dev/null 2>&1; then
實際上我們只要改 configure 即可,因為 configure.ac 應該是供 auto-tools 來產生 configure 用的,不過為了保險起見還是兩個一起改好了。
因為是用 fgrep 去搜的,一併搜到 gcc-4.2.1 裡的 configure.in 與 configure 裡的正規式也是錯的,順便也改一下。
沒有留言:
張貼留言