如果您在本书中遇到困难或者问题,请查看 FAQ 页 http://www.linuxfromscratch.org/faq/#generalfaq,您所遇到的问题往往这里已经有解答了。如果 FAQ 没有解决您的问题,请尝试找到问题的根源, http://www.linuxfromscratch.org/hints/downloads/files/errors.txt上的提示将给您提供一些故障诊断的指导。
我们也有一个出色的 LFS 社区通过 IRC 和邮件列表为您提供帮助(请参看本书的Section 1.3, “资源” 小节)。为了帮助诊断和解决问题,您需要在您的帮助请求中包含所有相关的信息。
除了一份您所遇到的问题的简短描述外,在任何帮助请求中您还需要附加一些必需的信息:
您所使用的 LFS Book 的版本(本书的版本是 6.1)
创建 LFS 所用的宿主 Linux 发行版的名称及其版本
遇到问题的软件包或所在的章节
确切的错误信息或故障现象描述
注意您是否完全是按本书所说的在做
不按本书说的做并不意味着我们就不会给您提供帮助,毕竟 LFS 是个性化的选择。提供您在建立过程中所做的任何更改,将有助于我们估计和确定导致您所遇到的问题的可能原因。
如果您执行 configure 脚本的时候,某个地方出错了,请检查 config.log 文件,这个文件可能包含 configure 过程中没有输出到屏幕的错误,如果您需要请求帮助,请把这里面相关信息也包含进去。
屏幕输出和各种产生文件的内容,对确定产生编译问题的原因都是有用的。 configure 脚本和运行 make 所产生的屏幕输出也是有帮助的。不需要把所有的输出都包含进来,只需要包含足够的相关信息就行了。下面是一个从 make的屏幕输出中包含所需信息的例子:
gcc -DALIASPATH=\"/mnt/lfs/usr/share/locale:.\" -DLOCALEDIR=\"/mnt/lfs/usr/share/locale\" -DLIBDIR=\"/mnt/lfs/usr/lib\" -DINCLUDEDIR=\"/mnt/lfs/usr/include\" -DHAVE_CONFIG_H -I. -I. -g -O2 -c getopt1.c gcc -g -O2 -static -o make ar.o arscan.o commands.o dir.o expand.o file.o function.o getopt.o implicit.o job.o main.o misc.o read.o remake.o rule.o signame.o variable.o vpath.o default.o remote-stub.o version.o opt1.o -lutil job.o: In function `load_too_high': /lfs/tmp/make-3.79.1/job.c:1565: undefined reference to `getloadavg' collect2: ld returned 1 exit status make[2]: *** [make] Error 1 make[2]: Leaving directory `/lfs/tmp/make-3.79.1' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/lfs/tmp/make-3.79.1' make: *** [all-recursive-am] Error 2
这种情形下,许多人会仅仅只包含最后一段:
make [2]: *** [make] Error 1
这对于正确的分析问题是不够的,因为它只是提示有东西出错了,而没有说是什么出错了。上面例子中全部都应该保存下来,因为它包括了所运行的命令和相关的错误信息。
http://catb.org/~esr/faqs/smart-questions.html上有一篇很好的文章,讲述如何在 Internet 上寻求帮助,请阅读并遵照文章中的提示,将有助于您得到您所需要的答案。