在构建二进制文件时生成文件中出错



我正在按照本教程开发一个hello world操作系统。 下面显示的配置部分成功完成

# Delete the build directory if it already exists.
rm -rfv binutils-build
mkdir binutils-build
cd binutils-build
../binutils-2.23.1/configure --prefix=$HOME/opt/cross --target=i586-elf 
--disable-nls

但是当我执行 makenice make -j4时,我收到以下错误:

config.status: creating po/Makefile.in
config.status: executing depfiles commands
config.status: executing libtool commands
config.status: executing default-1 commands
config.status: executing bfd_stdint.h commands
config.status: executing default commands
make[3]: Nothing to be done for 'info'.
make[3]: Leaving directory '/home/souban/OS/binutils-build/bfd/po'
make[3]: Entering directory '/home/souban/OS/binutils-build/bfd'
make[3]: Nothing to be done for 'info-am'.
make[3]: Leaving directory '/home/souban/OS/binutils-build/bfd'
Makefile:1617: recipe for target 'info-recursive' failed
make[2]: *** [info-recursive] Error 1
make[2]: Leaving directory '/home/souban/OS/binutils-build/bfd'
Makefile:2505: recipe for target 'all-bfd' failed
make[1]: *** [all-bfd] Error 2
make[1]: Leaving directory '/home/souban/OS/binutils-build'
Makefile:837: recipe for target 'all' failed
make: *** [all] Error 2

实际的错误消息不在你引用的部分,但构建过程可能无法找到makeinfo程序,该程序是大多数发行版中texinfo包的一部分。

对于遇到此错误的其他任何人,您可以通过运行前面带有MAKEINFO=missingconfigure命令来解决它......即

MAKEINFO=missing ../binutils-2.23.1/configure --prefix=$HOME/opt/cross --target=i586-elf --disable-nls

同样,make

MAKEINFO=missing make -j8