如果在看这本书的过程中有任何问题,请先查看FAQ页面:http://www.linuxfromscratch.org/faq/#generalfaq。多数问题在里面已被回答。如果里面没有回答你的问题,请尝试自己去查找问题的源头。这个提示会为你排除错误提供一些指引:http://www.linuxfromscratch.org/hints/downloads/files/errors.txt。
如果在FAQ的问题列表里找不到你的问题,可以在邮件列表里查找:http://www.linuxfromscratch.org/search.html。
我们还有一个优秀的LFS社区,很乐意通过邮件列表和IRC频道来为你提供帮助(参见这本书的 第 1.4 节 “资源”)。我们每天都会收到一些问题求助,然而其中有不少可以轻易地先通过查找FAQ和邮件列表来解决。所以,为了我们能尽可能提供最好的帮助,你需要自己先对问题进行一些研究。这样能让我们专注于更不常见的支持需求上面。如果你通过搜索仍不能解决问题,请在你的帮助请求中提供以下所有相关信息。
除了对你的问题进行的简要描述外,还需要提供的必要信息包括:
你所使用的书的版本(这本书是 7.5)
用于构建LFS的宿主系统的版本
第 vii.1 节 “ ” 的输出结果
出问题的软件包或章节
确切的错误信息或者问题的症状
注明你是否偏离过这本书
偏离这本书不意味着我们不会去帮助你。毕竟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。阅读并遵守这个文档中的提示,以提高你获得所需帮助的可能性。