我打算从头开始构建自己的 Linux,但是在第 5 章中为 binutils 运行“make”时出现错误,出现一些错误。 “make”的输出在这里:http://pastebin.com/8aVz6jfd
有 version-check.sh 的输出
enedil@linux-from-scratch:~$ bash version-check.sh
bash, version 4.2.45(1)-release
/bin/sh -> /bin/dash
Binutils: (GNU Binutils for Ubuntu) 2.23.2
bison (GNU Bison) 2.5
/usr/bin/yacc -> /usr/bin/bison.yacc
bzip2, Version 1.0.6, 6-Sept-2010.
Coreutils: 8.20
diff (GNU diffutils) 3.2
find (GNU findutils) 4.4.2
gawk: not an option: --version
/usr/bin/awk -> /usr/bin/mawk
gcc (Ubuntu/Linaro 4.7.3-1ubuntu1) 4.7.3
(Ubuntu EGLIBC 2.17-0ubuntu5) 2.17
grep (GNU grep) 2.14
gzip 1.5
Linux version 3.8.0-31-generic (buildd@panlong) (gcc version 4.7.3 (Ubuntu/Linaro 4.7.3-1ubuntu1) ) #46-Ubuntu SMP Tue Sep 10 20:03:44 UTC 2013
m4 (GNU M4) 1.4.16
GNU Make 3.81
patch 2.6.1
Perl version='5.14.2';
GNU sed version 4.2.1
tar (GNU tar) 1.26
s: line 33: makeinfo: command not found
Texinfo:
xz (XZ Utils) 5.1.0alpha
gcc compilation OK
我的发行版是 Ubuntu 13.04。
答案1
该问题似乎缺少 texinfo,这会导致构建过程中止(在日志中搜索表单的行*** [directory_name] Error X
)。它还告诉您,您通常不需要它,除非您修改了信息手册的来源。我认为这是 LFS 的引导部分之一,否则您应该已经makeinfo
可用了。
检查您应用了哪些补丁(如果有) - 它们可能修改了一些文档文件,从而触发重建。您还可以尝试禁用手动构建(configure
脚本可能有一个选项)。
答案2
您应该在此处包含pastebin(生成输出)信息。但是,它确实表明你的一些东西缺失了二进制实用程序建造;
checking for aclocal... no
checking for autoconf... no
checking for autoheader... no
还有,失踪的制造信息。
sudo apt-get install autoconf automake autotools-dev
这会给你本地化,自动配置, 和自动标题按照自动工具常见问题解答。您的制造商信息包由文本信息所以安装它就可以解决这个问题。
sudo apt-get install texinfo
之后,重试并发布更新。