在编译 mips架构的gdb的时候,make install 时出现以下的错误:
make[4]: 正在进入目录 `/home/ning/gdb/gdb-7.3.1/bin/
gdb'
make[5]: 正在进入目录 `/home/ning/gdb/gdb-7.3.1/bin/gdb/doc'
/home/ning/gdb/gdb-7.3.1/missing makeinfo --split-size=5000000
--split-size=5000000 -I ../../../gdb/doc/../../readline/doc -I
../../../gdb/doc/../mi -I ../../../gdb/doc \
-o gdb.info ../../../gdb/doc/gdb.texinfo
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.
make[5]: *** [gdb.info] 错误 1
make[5]:正在离开目录 `/home/ning/gdb/gdb-7.3.1/bin/gdb/doc'
make[4]: *** [subdir_do] 错误 1
make[4]:正在离开目录 `/home/ning/gdb/gdb-7.3.1/bin/gdb'
make[3]: *** [install-only] 错误 2
make[3]:正在离开目录 `/home/ning/gdb/gdb-7.3.1/bin/gdb'
make[2]: *** [install] 错误 2
make[2]:正在离开目录 `/home/ning/gdb/gdb-7.3.1/bin/gdb'
make[1]: *** [install-gdb] 错误 2
make[1]:正在离开目录 `/home/ning/gdb/gdb-7.3.1/bin'
make: *** [install] 错误 2
从提示的错误来看,应该是ubuntu 没有安装txtinfo(makeinfo包含在texinfo里面)。但是安装了以后,再make install 还是出现以上的错误。百思不得其解。
看configure文件这段描述:
# For an installed makeinfo, we require it to be from texinfo 4.7 or
# higher, else we use the "missing" dummy.
if ${MAKEINFO} --version \
| egrep 'texinfo[^0-9]*(4\.([7-9]|[1-9][0-9])|[5-9]|[1-9][0-9])'>/dev/null 2>&1; then:
else
MAKEINFO="$MISSING makeinfo"
fi
;;
可以看到这里在configure的时候,运行makeinfo --version,if下面的判断为 texinfo的版本为4.7以上的版本才行, 小于这个版本或者没有安装texinfo,则MAKEINFO为 $MISSING makeinfo
因此,虽然安装了texinfo,由于没有重新configure,MAKEINFO宏并没有改变。
于是删除编译目录的所有文件,重新configure,make, make install,一切OK。