aboutsummaryrefslogtreecommitdiffstats
path: root/chapter01/askforhelp.xml
blob: dd36b30fa59ebf626226ecbb0bf272450a0d74b8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
  <!ENTITY % general-entities SYSTEM "../general.ent">
  %general-entities;
]>

<sect1 id="ch-intro-askforhelp">
  <?dbhtml filename="askforhelp.html"?>

  <title>Help</title>

  <note>
    <para>
      In case you've hit an issue building one package with the LFS
      instruction, we strongly discourage posting the issue directly onto
      the upstream support channel before discussing via a LFS support
      channel listed in <xref linkend="ch-intro-resources"/>.
      Doing so is often quite inefficient because the upstream
      maintainers are rarely familiar with LFS building procedure.  Even if
      you've really hit an upstream issue, the LFS community can still help
      to isolate the information wanted by the upstream maintainers and make
      a proper report.
    </para>

    <para>
      If you must ask a question directly via an upstream support channel,
      you shall at least note that many upstream projects have the support
      channels separated from the bug tracker.  The <quote>bug</quote>
      reports for asking questions are considered invalid and may annoy
      upstream developers for these projects.
    </para>
  </note>

  <para>If an issue or a question is encountered while working through
  this book, please check the FAQ page at <ulink url="&faq-root;#generalfaq"/>.
  Questions are often already answered there. If your question is not
  answered on that page, try to find the source of the problem. The
  following hint will give you some guidance for troubleshooting:
  <ulink url="&hints-root;errors.txt"/>.</para>

  <para>If you cannot find your problem listed in the FAQ, search the mailing
  lists at <ulink url="&lfs-root;search.html"/>.</para>

  <para>We also have a wonderful LFS community that is willing to offer
  assistance through the mailing lists and IRC (see the <xref
  linkend="ch-intro-resources"/> section of this book). However,
  we get several support questions every day, and many of them could have been easily
  answered by going to the FAQ or by searching the mailing lists first.
  So, for us to offer the best assistance possible, you should first do some
  research on your own. That allows us to focus on the more unusual
  support needs. If your searches do not produce a solution, please include
  all the relevant information (mentioned below) in your request for help.</para>

  <sect2>
    <title>Things to Mention</title>

    <para>Apart from a brief explanation of the problem being experienced,
    any request for help should include these essential things:</para>

    <itemizedlist>
      <listitem>
        <para>The version of the book being used (in this case &version;)</para>
      </listitem>
      <listitem>
        <para>The host distribution and version being used to create LFS</para>
      </listitem>
      <listitem>
        <para>The output from the <xref linkend='version-check'/> script</para>
      </listitem>
      <listitem>
        <para>The package or section the problem was encountered in</para>
      </listitem>
      <listitem>
        <para>The exact error message, or a clear description of the problem</para>
      </listitem>
      <listitem>
        <para>Note whether you have deviated from the book at all </para>
      </listitem>
    </itemizedlist>

    <note>
      <para>Deviating from this book does <emphasis>not</emphasis> mean that
      we will not help you. After all, LFS is about personal preference.
      Being up-front about any changes to the established procedure helps us
      evaluate and determine possible causes of your problem.</para>
    </note>

  </sect2>

  <sect2>
    <title>Configure Script Problems</title>

    <para>If something goes wrong while running the <command>configure</command>
    script, review the <filename>config.log</filename> file. This file may
    contain errors encountered during <command>configure</command> which were
    not printed to the screen. Include the <emphasis>relevant</emphasis> lines
    if you need to ask for help.</para>

  </sect2>

  <sect2>
    <title>Compilation Problems</title>

    <para>Both the screen output and the contents of various files are useful
    in determining the cause of compilation problems. The screen output from
    the <command>configure</command> script and the <command>make</command>
    run can be helpful. It is not necessary to include the entire output, but
    do include all of the relevant information. Here is an example of the
    type of information to include from the <command>make</command> screen
    output.</para>

<screen><computeroutput>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</computeroutput></screen>

    <para>In this case, many people would just include the bottom
    section:</para>

<screen><computeroutput>make [2]: *** [make] Error 1</computeroutput></screen>

    <para>This is not enough information to diagnose the problem,
    because it only notes that something went wrong, not
    <emphasis>what</emphasis> went wrong. The entire section, as in the
    example above, is what should be saved because it includes the command
    that was executed and all the associated error messages.</para>

    <para>An excellent article about asking for help on the Internet is
    available online at <ulink
    url="http://catb.org/~esr/faqs/smart-questions.html"/>. Read this document,
    and follow the hints. Doing so will increase the likelihood of getting
    the help you need.</para>

  </sect2>

</sect1>