Split Chapter 5 into three separate chapters.
[linux_from_scratch.git] / chapter01 / askforhelp.xml
blob70b9b5e44734a33153518128a5a2652daec9aecc
1 <?xml version="1.0" encoding="ISO-8859-1"?>
2 <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3   "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4   <!ENTITY % general-entities SYSTEM "../general.ent">
5   %general-entities;
6 ]>
8 <sect1 id="ch-intro-askforhelp">
9   <?dbhtml filename="askforhelp.html"?>
11   <title>Help</title>
13   <para>If an issue or a question is encountered while working through
14   this book, please check the FAQ page at <ulink url="&faq-root;#generalfaq"/>.
15   Questions are often already answered there. If your question is not
16   answered on this page, try to find the source of the problem. The
17   following hint will give you some guidance for troubleshooting:
18   <ulink url="&hints-root;errors.txt"/>.</para>
20   <para>If you cannot find your problem listed in the FAQ, search the mailing
21   lists at <ulink url="&lfs-root;search.html"/>.</para>
23   <para>We also have a wonderful LFS community that is willing to offer
24   assistance through the mailing lists and IRC (see the <xref
25   linkend="ch-intro-resources"/> section of this book). However,
26   we get several support questions every day and many of them can be easily
27   answered by going to the FAQ and by searching the mailing lists first.
28   So, for us to offer the best assistance possible, you need to do some
29   research on your own first. That allows us to focus on the more unusual
30   support needs. If your searches do not produce a solution, please include
31   all relevant information (mentioned below) in your request for help.</para>
33   <sect2>
34     <title>Things to Mention</title>
36     <para>Apart from a brief explanation of the problem being experienced,
37     the essential things to include in any request for help are:</para>
39     <itemizedlist>
40       <listitem>
41         <para>The version of the book being used (in this case 
42               <phrase revision="sysv">&version;</phrase>
43               <phrase revision="systemd">&versiond;</phrase>)</para>
44       </listitem>
45       <listitem>
46         <para>The host distribution and version being used to create LFS</para>
47       </listitem>
48       <listitem>
49         <para>The output from the <xref linkend='version-check'/> script</para>
50       </listitem>
51       <listitem>
52         <para>The package or section the problem was encountered in</para>
53       </listitem>
54       <listitem>
55         <para>The exact error message or symptom being received</para>
56       </listitem>
57       <listitem>
58         <para>Note whether you have deviated from the book at all </para>
59       </listitem>
60     </itemizedlist>
62     <note>
63       <para>Deviating from this book does <emphasis>not</emphasis> mean that
64       we will not help you. After all, LFS is about personal preference.
65       Being upfront about any changes to the established procedure helps us
66       evaluate and determine possible causes of your problem.</para>
67     </note>
69   </sect2>
71   <sect2>
72     <title>Configure Script Problems</title>
74     <para>If something goes wrong while running the <command>configure</command>
75     script, review the <filename>config.log</filename> file. This file may
76     contain errors encountered during <command>configure</command> which were
77     not printed to the screen. Include the <emphasis>relevant</emphasis> lines
78     if you need to ask for help.</para>
80   </sect2>
82   <sect2>
83     <title>Compilation Problems</title>
85     <para>Both the screen output and the contents of various files are useful
86     in determining the cause of compilation problems. The screen output from
87     the <command>configure</command> script and the <command>make</command>
88     run can be helpful. It is not necessary to include the entire output, but
89     do include enough of the relevant information. Below is an example of the
90     type of information to include from the screen output from
91     <command>make</command>:</para>
93 <screen><computeroutput>gcc -DALIASPATH=\"/mnt/lfs/usr/share/locale:.\"
94 -DLOCALEDIR=\"/mnt/lfs/usr/share/locale\"
95 -DLIBDIR=\"/mnt/lfs/usr/lib\"
96 -DINCLUDEDIR=\"/mnt/lfs/usr/include\" -DHAVE_CONFIG_H -I. -I.
97 -g -O2 -c getopt1.c
98 gcc -g -O2 -static -o make ar.o arscan.o commands.o dir.o
99 expand.o file.o function.o getopt.o implicit.o job.o main.o
100 misc.o read.o remake.o rule.o signame.o variable.o vpath.o
101 default.o remote-stub.o version.o opt1.o
102 -lutil job.o: In function `load_too_high':
103 /lfs/tmp/make-3.79.1/job.c:1565: undefined reference
104 to `getloadavg'
105 collect2: ld returned 1 exit status
106 make[2]: *** [make] Error 1
107 make[2]: Leaving directory `/lfs/tmp/make-3.79.1'
108 make[1]: *** [all-recursive] Error 1
109 make[1]: Leaving directory `/lfs/tmp/make-3.79.1'
110 make: *** [all-recursive-am] Error 2</computeroutput></screen>
112     <para>In this case, many people would just include the bottom
113     section:</para>
115 <screen><computeroutput>make [2]: *** [make] Error 1</computeroutput></screen>
117     <para>This is not enough information to properly diagnose the problem
118     because it only notes that something went wrong, not
119     <emphasis>what</emphasis> went wrong. The entire section, as in the
120     example above, is what should be saved because it includes the command
121     that was executed and the associated error message(s).</para>
123     <para>An excellent article about asking for help on the Internet is
124     available online at <ulink
125     url="http://catb.org/~esr/faqs/smart-questions.html"/>. Read and
126     follow the hints in this document to increase the likelihood of getting
127     the help you need.</para>
129   </sect2>
131 </sect1>