diff options
author | Scott Rifenbark <scott.m.rifenbark@intel.com> | 2014-05-23 18:35:56 +0300 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2014-05-30 16:32:15 +0100 |
commit | 3dd477c469af888cb222c160a5fda0f335c97acd (patch) | |
tree | 8e6e5be746e92d59aab215bbb409042f6750d6c2 | |
parent | 594833891de88c057e8c39eb648996bb757cbaed (diff) | |
download | poky-3dd477c469af888cb222c160a5fda0f335c97acd.tar.gz |
ref-manual: Applied review edits to QA messages and insane.bbclass.
Fixes [YOCTO #6159]
Edits from Paul Eggleton included some reformatting, some minor
wording tweaks, and edits to a couple tests as described in the
insane.bbclass.
(From yocto-docs rev: b42ef1bd51cb20f6bbb6bf812999e3a35b332339)
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r-- | documentation/ref-manual/ref-classes.xml | 16 | ||||
-rw-r--r-- | documentation/ref-manual/ref-qa-checks.xml | 1370 |
2 files changed, 871 insertions, 515 deletions
diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml index d87126c4a1..d00f00d3b2 100644 --- a/documentation/ref-manual/ref-classes.xml +++ b/documentation/ref-manual/ref-classes.xml | |||
@@ -1259,6 +1259,10 @@ | |||
1259 | Typically, failures for new tests generate a warning. | 1259 | Typically, failures for new tests generate a warning. |
1260 | Subsequent failures for the same test would then generate an error | 1260 | Subsequent failures for the same test would then generate an error |
1261 | message once the metadata is in a known and good condition. | 1261 | message once the metadata is in a known and good condition. |
1262 | See the | ||
1263 | "<link linkend='ref-qa-checks'>QA Error and Warning Messages</link>" | ||
1264 | Chapter for a list of all the warning and error messages | ||
1265 | you might encounter using a default configuration. | ||
1262 | </para> | 1266 | </para> |
1263 | 1267 | ||
1264 | <para> | 1268 | <para> |
@@ -1323,8 +1327,9 @@ | |||
1323 | build output. | 1327 | build output. |
1324 | </para></listitem> | 1328 | </para></listitem> |
1325 | <listitem><para><emphasis><filename>debug-deps:</filename></emphasis> | 1329 | <listitem><para><emphasis><filename>debug-deps:</filename></emphasis> |
1326 | Checks that <filename>-dbg</filename> packages only depend on other | 1330 | Checks that all packages except <filename>-dbg</filename> |
1327 | <filename>-dbg</filename> packages and not on any other types of packages, | 1331 | packages only depend on other <filename>-dbg</filename> |
1332 | packages and not on any other types of packages, | ||
1328 | which would cause a packaging bug.</para></listitem> | 1333 | which would cause a packaging bug.</para></listitem> |
1329 | <listitem><para><emphasis><filename>debug-files:</filename></emphasis> | 1334 | <listitem><para><emphasis><filename>debug-files:</filename></emphasis> |
1330 | Checks for <filename>.debug</filename> directories in anything but the | 1335 | Checks for <filename>.debug</filename> directories in anything but the |
@@ -1351,9 +1356,10 @@ | |||
1351 | their contents against the specification for | 1356 | their contents against the specification for |
1352 | <filename>.desktop</filename> files.</para></listitem> | 1357 | <filename>.desktop</filename> files.</para></listitem> |
1353 | <listitem><para><emphasis><filename>dev-deps:</filename></emphasis> | 1358 | <listitem><para><emphasis><filename>dev-deps:</filename></emphasis> |
1354 | Checks that <filename>-dev</filename> packages only depend on other | 1359 | Checks that all packages except <filename>-dev</filename> |
1355 | <filename>-dev</filename> packages and not on any other types of packages, | 1360 | or <filename>-staticdev</filename> packages depend on |
1356 | which would be a packaging bug.</para></listitem> | 1361 | <filename>-dev</filename> packages and not on any other types |
1362 | of packages, which would be a packaging bug.</para></listitem> | ||
1357 | <listitem><para><emphasis><filename>dev-so:</filename></emphasis> | 1363 | <listitem><para><emphasis><filename>dev-so:</filename></emphasis> |
1358 | Checks that the <filename>.so</filename> symbolic links are in the | 1364 | Checks that the <filename>.so</filename> symbolic links are in the |
1359 | <filename>-dev</filename> package and not in any of the other packages. | 1365 | <filename>-dev</filename> package and not in any of the other packages. |
diff --git a/documentation/ref-manual/ref-qa-checks.xml b/documentation/ref-manual/ref-qa-checks.xml index 16203e6dbf..c31f9c792f 100644 --- a/documentation/ref-manual/ref-qa-checks.xml +++ b/documentation/ref-manual/ref-qa-checks.xml | |||
@@ -9,10 +9,19 @@ | |||
9 | <title>Introduction</title> | 9 | <title>Introduction</title> |
10 | 10 | ||
11 | <para> | 11 | <para> |
12 | Fixing QA issues in your recipes can take significant time and effort | 12 | When building a recipe, the OpenEmbedded build system performs |
13 | when writing new recipes. | 13 | various QA checks on the output to ensure that common issues are |
14 | Sometimes you might be tempted to ignore a QA message or even to | 14 | detected and reported. |
15 | disable these QA checks. | 15 | Some software builds that use new recipes complete with no problems. |
16 | However, some do not. | ||
17 | When issues are reported, it could take a little time | ||
18 | to resolve them. | ||
19 | </para> | ||
20 | |||
21 | <para> | ||
22 | While it is tempting to ignore a QA message or even to | ||
23 | disable QA checks, it is best to try and resolve any | ||
24 | reported QA issues. | ||
16 | This chapter provides a list of the QA messages and brief explanations | 25 | This chapter provides a list of the QA messages and brief explanations |
17 | of the issues you could encounter so that you can properly resolve | 26 | of the issues you could encounter so that you can properly resolve |
18 | problems. | 27 | problems. |
@@ -21,11 +30,18 @@ | |||
21 | <para> | 30 | <para> |
22 | The next section provides a list of all QA error and warning | 31 | The next section provides a list of all QA error and warning |
23 | messages based on a default configuration. | 32 | messages based on a default configuration. |
24 | Each entry provides the message or error form along with an explanation. | 33 | Each entry provides the message or error form along with an |
34 | explanation. | ||
25 | <note> | 35 | <note> |
26 | <title>Notes</title> | 36 | <title>Notes</title> |
27 | <itemizedlist> | 37 | <itemizedlist> |
28 | <listitem><para> | 38 | <listitem><para> |
39 | At the end of each message, the name of the offending | ||
40 | QA test (as listed in the | ||
41 | "<link linkend='ref-classes-insane'><filename>insane.bbclass</filename></link>" | ||
42 | section) appears within square brackets. | ||
43 | </para></listitem> | ||
44 | <listitem><para> | ||
29 | As mentioned, this list of error and warning messages is for | 45 | As mentioned, this list of error and warning messages is for |
30 | QA checks only. | 46 | QA checks only. |
31 | The list does not cover all possible build errors or | 47 | The list does not cover all possible build errors or |
@@ -45,700 +61,1013 @@ | |||
45 | 61 | ||
46 | <para> | 62 | <para> |
47 | <itemizedlist> | 63 | <itemizedlist> |
48 | <listitem><para> | 64 | <listitem> |
49 | <literallayout class='monospaced'> | 65 | <para> |
66 | <code> | ||
50 | <packagename>: <path> is using libexec please relocate to <libexecdir> [libexec] | 67 | <packagename>: <path> is using libexec please relocate to <libexecdir> [libexec] |
51 | </literallayout> | 68 | </code> |
52 | The specified package contains files in | 69 | </para> |
53 | <filename>/usr/libexec</filename>. | 70 | |
54 | By default, <filename>libexecdir</filename> is set to | 71 | <para> |
55 | "${libdir}/${BPN}" rather than to "/usr/libexec". | 72 | The specified package contains files in |
56 | Thus, installing to <filename>/usr/libexec</filename> | 73 | <filename>/usr/libexec</filename>. |
57 | is likely not desirable. | 74 | By default, <filename>libexecdir</filename> is set to |
58 | </para></listitem> | 75 | "${libdir}/${BPN}" rather than to "/usr/libexec". |
76 | Thus, installing to <filename>/usr/libexec</filename> | ||
77 | is likely not desirable. | ||
78 | </para> | ||
79 | |||
80 | <para> | ||
81 | | ||
82 | </para> | ||
83 | </listitem> | ||
59 | </itemizedlist> | 84 | </itemizedlist> |
60 | </para> | 85 | </para> |
61 | 86 | ||
62 | <para> | 87 | <para> |
63 | <itemizedlist> | 88 | <itemizedlist> |
64 | <listitem><para> | 89 | <listitem> |
65 | <literallayout class='monospaced'> | 90 | <para> |
91 | <code> | ||
66 | package <packagename> contains bad RPATH <rpath> in file <file> [rpaths] | 92 | package <packagename> contains bad RPATH <rpath> in file <file> [rpaths] |
67 | </literallayout> | 93 | </code> |
68 | The specified binary produced by the recipe contains dynamic | 94 | </para> |
69 | library load paths (rpaths) that contain build system paths | 95 | |
70 | such as | 96 | <para> |
71 | <link linkend='var-TMPDIR'><filename>TMPDIR</filename></link>, | 97 | The specified binary produced by the recipe contains dynamic |
72 | which could potentially be a security issue. | 98 | library load paths (rpaths) that contain build system paths |
73 | Check for bad <filename>-rpath</filename> options being passed | 99 | such as |
74 | to the linker in your | 100 | <link linkend='var-TMPDIR'><filename>TMPDIR</filename></link>, |
75 | <link linkend='ref-tasks-compile'><filename>do_compile</filename></link> | 101 | which are incorrect for the target and could potentially |
76 | log. | 102 | be a security issue. |
77 | Depending on the build system used by the software being built, | 103 | Check for bad <filename>-rpath</filename> options being |
78 | there might be a configure option to disable rpath usage | 104 | passed to the linker in your |
79 | completely within the build of the software. | 105 | <link linkend='ref-tasks-compile'><filename>do_compile</filename></link> |
80 | </para></listitem> | 106 | log. |
107 | Depending on the build system used by the software being | ||
108 | built, there might be a configure option to disable rpath | ||
109 | usage completely within the build of the software. | ||
110 | </para> | ||
111 | |||
112 | <para> | ||
113 | | ||
114 | </para> | ||
115 | </listitem> | ||
81 | </itemizedlist> | 116 | </itemizedlist> |
82 | </para> | 117 | </para> |
83 | 118 | ||
84 | <para> | 119 | <para> |
85 | <itemizedlist> | 120 | <itemizedlist> |
86 | <listitem><para> | 121 | <listitem> |
87 | <literallayout class='monospaced'> | 122 | <para> |
123 | <code> | ||
88 | <packagename>: <file> contains probably-redundant RPATH <rpath> [useless-rpaths] | 124 | <packagename>: <file> contains probably-redundant RPATH <rpath> [useless-rpaths] |
89 | </literallayout> | 125 | </code> |
90 | The specified binary produced by the recipe contains dynamic | 126 | </para> |
91 | library load paths (rpaths) that on a standard system are | 127 | |
92 | searched by default by the linker (e.g. | 128 | <para> |
93 | <filename>/lib</filename> and <filename>/usr/lib</filename>). | 129 | The specified binary produced by the recipe contains dynamic |
94 | While these paths will not cause any breakage, they do waste | 130 | library load paths (rpaths) that on a standard system are |
95 | space and are unnecessary. | 131 | searched by default by the linker (e.g. |
96 | Depending on the build system used by the software being built, | 132 | <filename>/lib</filename> and <filename>/usr/lib</filename>). |
97 | there might be a configure option to disable rpath usage | 133 | While these paths will not cause any breakage, they do waste |
98 | completely within the build of the software. | 134 | space and are unnecessary. |
99 | </para></listitem> | 135 | Depending on the build system used by the software being |
136 | built, there might be a configure option to disable rpath | ||
137 | usage completely within the build of the software. | ||
138 | </para> | ||
139 | |||
140 | <para> | ||
141 | | ||
142 | </para> | ||
143 | </listitem> | ||
100 | </itemizedlist> | 144 | </itemizedlist> |
101 | </para> | 145 | </para> |
102 | 146 | ||
103 | <para> | 147 | <para> |
104 | <itemizedlist> | 148 | <itemizedlist> |
105 | <listitem><para> | 149 | <listitem> |
106 | <literallayout class='monospaced'> | 150 | <para> |
151 | <code> | ||
107 | non -dev/-dbg/-nativesdk package contains symlink .so: <packagename> path '<path>' [dev-so] | 152 | non -dev/-dbg/-nativesdk package contains symlink .so: <packagename> path '<path>' [dev-so] |
108 | </literallayout> | 153 | </code> |
109 | Symlink <filename>.so</filename> files are for development | 154 | </para> |
110 | only, and should therefore go into the | 155 | |
111 | <filename>-dev</filename> package. | 156 | <para> |
112 | This situation might occur if you add | 157 | Symlink <filename>.so</filename> files are for development |
113 | <filename>*.so*</filename> rather than | 158 | only, and should therefore go into the |
114 | <filename>*.so.*</filename> to a non-dev package. | 159 | <filename>-dev</filename> package. |
115 | Change | 160 | This situation might occur if you add |
116 | <link linkend='var-FILES'><filename>FILES</filename></link> | 161 | <filename>*.so*</filename> rather than |
117 | (and possibly | 162 | <filename>*.so.*</filename> to a non-dev package. |
118 | <link linkend='var-PACKAGES'><filename>PACKAGES</filename></link>) | 163 | Change |
119 | such that the specified <filename>.so</filename> file goes | 164 | <link linkend='var-FILES'><filename>FILES</filename></link> |
120 | into an appropriate <filename>-dev</filename> package. | 165 | (and possibly |
121 | </para></listitem> | 166 | <link linkend='var-PACKAGES'><filename>PACKAGES</filename></link>) |
167 | such that the specified <filename>.so</filename> file goes | ||
168 | into an appropriate <filename>-dev</filename> package. | ||
169 | </para> | ||
170 | |||
171 | <para> | ||
172 | | ||
173 | </para> | ||
174 | </listitem> | ||
122 | </itemizedlist> | 175 | </itemizedlist> |
123 | </para> | 176 | </para> |
124 | 177 | ||
125 | <para> | 178 | <para> |
126 | <itemizedlist> | 179 | <itemizedlist> |
127 | <listitem><para> | 180 | <listitem> |
128 | <literallayout class='monospaced'> | 181 | <para> |
182 | <code> | ||
129 | non -staticdev package contains static .a library: <packagename> path '<path>' [staticdev] | 183 | non -staticdev package contains static .a library: <packagename> path '<path>' [staticdev] |
130 | </literallayout> | 184 | </code> |
131 | Static <filename>.a</filename> library files should go into | 185 | </para> |
132 | a <filename>-staticdev</filename> package. | 186 | |
133 | Change | 187 | <para> |
134 | <link linkend='var-FILES'><filename>FILES</filename></link> | 188 | Static <filename>.a</filename> library files should go into |
135 | (and possibly | 189 | a <filename>-staticdev</filename> package. |
136 | <link linkend='var-PACKAGES'><filename>PACKAGES</filename></link>) | 190 | Change |
137 | such that the specified <filename>.a</filename> file goes into | 191 | <link linkend='var-FILES'><filename>FILES</filename></link> |
138 | an appropriate <filename>-staticdev</filename> package. | 192 | (and possibly |
139 | </para></listitem> | 193 | <link linkend='var-PACKAGES'><filename>PACKAGES</filename></link>) |
194 | such that the specified <filename>.a</filename> file goes | ||
195 | into an appropriate <filename>-staticdev</filename> package. | ||
196 | </para> | ||
197 | |||
198 | <para> | ||
199 | | ||
200 | </para> | ||
201 | </listitem> | ||
140 | </itemizedlist> | 202 | </itemizedlist> |
141 | </para> | 203 | </para> |
142 | 204 | ||
143 | <para> | 205 | <para> |
144 | <itemizedlist> | 206 | <itemizedlist> |
145 | <listitem><para> | 207 | <listitem> |
146 | <literallayout class='monospaced'> | 208 | <para> |
209 | <code> | ||
147 | <packagename>: found library in wrong location [libdir] | 210 | <packagename>: found library in wrong location [libdir] |
148 | </literallayout> | 211 | </code> |
149 | The specified file may have been installed into an incorrect | 212 | </para> |
150 | (possibly hardcoded) installation path. | 213 | |
151 | For example, this test will catch recipes that install | 214 | <para> |
152 | <filename>/lib/bar.so</filename> when | 215 | The specified file may have been installed into an incorrect |
153 | <filename>${base_libdir}</filename> is "lib32". | 216 | (possibly hardcoded) installation path. |
154 | Another example is when recipes install | 217 | For example, this test will catch recipes that install |
155 | <filename>/usr/lib64/foo.so</filename> when | 218 | <filename>/lib/bar.so</filename> when |
156 | <filename>${libdir}</filename> is "/usr/lib". | 219 | <filename>${base_libdir}</filename> is "lib32". |
157 | False positives occasionally exist. | 220 | Another example is when recipes install |
158 | For these cases add "libdir" to | 221 | <filename>/usr/lib64/foo.so</filename> when |
159 | <link linkend='var-INSANE_SKIP'><filename>INSANE_SKIP</filename></link> | 222 | <filename>${libdir}</filename> is "/usr/lib". |
160 | for the package. | 223 | False positives occasionally exist. |
161 | </para></listitem> | 224 | For these cases add "libdir" to |
225 | <link linkend='var-INSANE_SKIP'><filename>INSANE_SKIP</filename></link> | ||
226 | for the package. | ||
227 | </para> | ||
228 | |||
229 | <para> | ||
230 | | ||
231 | </para> | ||
232 | </listitem> | ||
162 | </itemizedlist> | 233 | </itemizedlist> |
163 | </para> | 234 | </para> |
164 | 235 | ||
165 | <para> | 236 | <para> |
166 | <itemizedlist> | 237 | <itemizedlist> |
167 | <listitem><para> | 238 | <listitem> |
168 | <literallayout class='monospaced'> | 239 | <para> |
240 | <code> | ||
169 | non debug package contains .debug directory: <packagename> path <path> [debug-files] | 241 | non debug package contains .debug directory: <packagename> path <path> [debug-files] |
170 | </literallayout> | 242 | </code> |
171 | The specified package contains a | 243 | </para> |
172 | <filename>.debug</filename> directory, which should not appear | 244 | |
173 | in anything but the <filename>-dbg</filename> package. | 245 | <para> |
174 | This situation might occur if you add a path which contains | 246 | The specified package contains a |
175 | a <filename>.debug</filename> directory and do not explicitly | 247 | <filename>.debug</filename> directory, which should not |
176 | add the <filename>.debug</filename> directory to the | 248 | appear in anything but the <filename>-dbg</filename> |
177 | <filename>-dbg</filename> package. | 249 | package. |
178 | If this is the case, add the <filename>.debug</filename> | 250 | This situation might occur if you add a path which contains |
179 | directory explicitly to <filename>FILES_${PN}-dbg</filename>. | 251 | a <filename>.debug</filename> directory and do not |
180 | See | 252 | explicitly add the <filename>.debug</filename> directory |
181 | <link linkend='var-FILES'><filename>FILES</filename></link> | 253 | to the <filename>-dbg</filename> package. |
182 | for additional information on <filename>FILES</filename>. | 254 | If this is the case, add the <filename>.debug</filename> |
183 | </para></listitem> | 255 | directory explicitly to |
256 | <filename>FILES_${PN}-dbg</filename>. | ||
257 | See | ||
258 | <link linkend='var-FILES'><filename>FILES</filename></link> | ||
259 | for additional information on <filename>FILES</filename>. | ||
260 | </para> | ||
261 | |||
262 | <para> | ||
263 | | ||
264 | </para> | ||
265 | </listitem> | ||
184 | </itemizedlist> | 266 | </itemizedlist> |
185 | </para> | 267 | </para> |
186 | 268 | ||
187 | <para> | 269 | <para> |
188 | <itemizedlist> | 270 | <itemizedlist> |
189 | <listitem><para> | 271 | <listitem> |
190 | <literallayout class='monospaced'> | 272 | <para> |
273 | <code> | ||
191 | Architecture did not match (<machine_arch> to <file_arch>) on <file> | 274 | Architecture did not match (<machine_arch> to <file_arch>) on <file> |
192 | </literallayout> | 275 | </code> |
193 | By default, the OpenEmbedded build system checks the Executable | 276 | </para> |
194 | and Linkable Format (ELF) type, bit size, and endianness of | 277 | |
195 | any binaries to ensure they match the target architecture. | 278 | <para> |
196 | This test fails if any binaries do not match the type since | 279 | By default, the OpenEmbedded build system checks the |
197 | there would be an incompatibility. | 280 | Executable and Linkable Format (ELF) type, bit size, and |
198 | The test could indicate that the wrong compiler or compiler | 281 | endianness of any binaries to ensure they match the |
199 | options have been used. | 282 | target architecture. |
200 | Sometimes software, like bootloaders, might need to bypass this | 283 | This test fails if any binaries do not match the type since |
201 | check. | 284 | there would be an incompatibility. |
202 | If the file you receive the error for is firmware that is not | 285 | The test could indicate that the wrong compiler or compiler |
203 | intended to be executed within the target operating system | 286 | options have been used. |
204 | or is intended to run on a separate processor within the | 287 | Sometimes software, like bootloaders, might need to |
205 | device, you can add "arch" to | 288 | bypass this check. |
206 | <link linkend='var-INSANE_SKIP'><filename>INSANE_SKIP</filename></link> | 289 | If the file you receive the error for is firmware |
207 | for the package. | 290 | that is not intended to be executed within the target |
208 | Another option is to check the | 291 | operating system or is intended to run on a separate |
209 | <link linkend='ref-tasks-compile'><filename>do_compile</filename></link> | 292 | processor within the device, you can add "arch" to |
210 | log and verify that the | 293 | <link linkend='var-INSANE_SKIP'><filename>INSANE_SKIP</filename></link> |
211 | compiler options being used are correct. | 294 | for the package. |
212 | </para></listitem> | 295 | Another option is to check the |
296 | <link linkend='ref-tasks-compile'><filename>do_compile</filename></link> | ||
297 | log and verify that the compiler options being used | ||
298 | are correct. | ||
299 | </para> | ||
300 | |||
301 | <para> | ||
302 | | ||
303 | </para> | ||
304 | </listitem> | ||
213 | </itemizedlist> | 305 | </itemizedlist> |
214 | </para> | 306 | </para> |
215 | 307 | ||
216 | <para> | 308 | <para> |
217 | <itemizedlist> | 309 | <itemizedlist> |
218 | <listitem><para> | 310 | <listitem> |
219 | <literallayout class='monospaced'> | 311 | <para> |
312 | <code> | ||
220 | Bit size did not match (<machine_bits> to <file_bits>) <recipe> on <file> | 313 | Bit size did not match (<machine_bits> to <file_bits>) <recipe> on <file> |
221 | </literallayout> | 314 | </code> |
222 | By default, the OpenEmbedded build system checks the Executable | 315 | </para> |
223 | and Linkable Format (ELF) type, bit size, and endianness of | 316 | |
224 | any binaries to ensure they match the target architecture. | 317 | <para> |
225 | This test fails if any binaries do not match the type since | 318 | By default, the OpenEmbedded build system checks |
226 | there would be an incompatibility. | 319 | the Executable and Linkable Format (ELF) type, |
227 | The test could indicate that the wrong compiler or compiler | 320 | bit size, and endianness of any binaries to ensure |
228 | options have been used. | 321 | they match the target architecture. |
229 | Sometimes software, like bootloaders, might need to bypass this | 322 | This test fails if any binaries do not match the type since |
230 | check. | 323 | there would be an incompatibility. |
231 | If the file you receive the error for is firmware that is not | 324 | The test could indicate that the wrong compiler or compiler |
232 | intended to be executed within the target operating system | 325 | options have been used. |
233 | or is intended to run on a separate processor within the | 326 | Sometimes software, like bootloaders, might need to |
234 | device, you can add "arch" to | 327 | bypass this check. |
235 | <link linkend='var-INSANE_SKIP'><filename>INSANE_SKIP</filename></link> | 328 | If the file you receive the error for is firmware that |
236 | for the package. | 329 | is not intended to be executed within the target |
237 | Another option is to check the | 330 | operating system or is intended to run on a separate |
238 | <link linkend='ref-tasks-compile'><filename>do_compile</filename></link> | 331 | processor within the device, you can add "arch" to |
239 | log and verify that the | 332 | <link linkend='var-INSANE_SKIP'><filename>INSANE_SKIP</filename></link> |
240 | compiler options being used are correct. | 333 | for the package. |
241 | </para></listitem> | 334 | Another option is to check the |
335 | <link linkend='ref-tasks-compile'><filename>do_compile</filename></link> | ||
336 | log and verify that the compiler options being used are | ||
337 | correct. | ||
338 | </para> | ||
339 | |||
340 | <para> | ||
341 | | ||
342 | </para> | ||
343 | </listitem> | ||
242 | </itemizedlist> | 344 | </itemizedlist> |
243 | </para> | 345 | </para> |
244 | 346 | ||
245 | <para> | 347 | <para> |
246 | <itemizedlist> | 348 | <itemizedlist> |
247 | <listitem><para> | 349 | <listitem> |
248 | <literallayout class='monospaced'> | 350 | <para> |
351 | <code> | ||
249 | Endianness did not match (<machine_endianness> to <file_endianness>) on <file> [arch] | 352 | Endianness did not match (<machine_endianness> to <file_endianness>) on <file> [arch] |
250 | </literallayout> | 353 | </code> |
251 | By default, the OpenEmbedded build system checks the Executable | 354 | </para> |
252 | and Linkable Format (ELF) type, bit size, and endianness of | 355 | |
253 | any binaries to ensure they match the target architecture. | 356 | <para> |
254 | This test fails if any binaries do not match the type since | 357 | By default, the OpenEmbedded build system checks |
255 | there would be an incompatibility. | 358 | the Executable and Linkable Format (ELF) type, bit |
256 | The test could indicate that the wrong compiler or compiler | 359 | size, and endianness of any binaries to ensure they |
257 | options have been used. | 360 | match the target architecture. |
258 | Sometimes software, like bootloaders, might need to bypass this | 361 | This test fails if any binaries do not match the type since |
259 | check. | 362 | there would be an incompatibility. |
260 | If the file you receive the error for is firmware that is not | 363 | The test could indicate that the wrong compiler or compiler |
261 | intended to be executed within the target operating system | 364 | options have been used. |
262 | or is intended to run on a separate processor within the | 365 | Sometimes software, like bootloaders, might need to |
263 | device, you can add "arch" to | 366 | bypass this check. |
264 | <link linkend='var-INSANE_SKIP'><filename>INSANE_SKIP</filename></link> | 367 | If the file you receive the error for is firmware |
265 | for the package. | 368 | that is not intended to be executed within the target |
266 | Another option is to check the | 369 | operating system or is intended to run on a separate |
267 | <link linkend='ref-tasks-compile'><filename>do_compile</filename></link> | 370 | processor within the device, you can add "arch" to |
268 | log and verify that the | 371 | <link linkend='var-INSANE_SKIP'><filename>INSANE_SKIP</filename></link> |
269 | compiler options being used are correct. | 372 | for the package. |
270 | </para></listitem> | 373 | Another option is to check the |
374 | <link linkend='ref-tasks-compile'><filename>do_compile</filename></link> | ||
375 | log and verify that the compiler options being used | ||
376 | are correct. | ||
377 | </para> | ||
378 | |||
379 | <para> | ||
380 | | ||
381 | </para> | ||
382 | </listitem> | ||
271 | </itemizedlist> | 383 | </itemizedlist> |
272 | </para> | 384 | </para> |
273 | 385 | ||
274 | <para> | 386 | <para> |
275 | <itemizedlist> | 387 | <itemizedlist> |
276 | <listitem><para> | 388 | <listitem> |
277 | <literallayout class='monospaced'> | 389 | <para> |
390 | <code> | ||
278 | ELF binary '<file>' has relocations in .text [textrel] | 391 | ELF binary '<file>' has relocations in .text [textrel] |
279 | </literallayout> | 392 | </code> |
280 | The specified ELF binary contains relocations in its | 393 | </para> |
281 | <filename>.text</filename> sections. | 394 | |
282 | This situation can result in a performance impact at runtime. | 395 | <para> |
283 | <note> | 396 | The specified ELF binary contains relocations in its |
284 | A bug currently exists that causes this warning to appear | 397 | <filename>.text</filename> sections. |
285 | erroneously. | 398 | This situation can result in a performance impact |
286 | See | 399 | at runtime. |
287 | <ulink url='https://bugzilla.yoctoproject.org/show_bug.cgi?id=6104'></ulink> | 400 | <note> |
288 | for more information. | 401 | A bug currently exists that causes this |
289 | </note> | 402 | warning to appear erroneously. |
290 | </para></listitem> | 403 | See |
404 | <ulink url='https://bugzilla.yoctoproject.org/show_bug.cgi?id=6104'></ulink> | ||
405 | for more information. | ||
406 | </note> | ||
407 | </para> | ||
408 | |||
409 | <para> | ||
410 | | ||
411 | </para> | ||
412 | </listitem> | ||
291 | </itemizedlist> | 413 | </itemizedlist> |
292 | </para> | 414 | </para> |
293 | 415 | ||
294 | <para> | 416 | <para> |
295 | <itemizedlist> | 417 | <itemizedlist> |
296 | <listitem><para> | 418 | <listitem> |
297 | <literallayout class='monospaced'> | 419 | <para> |
420 | <code> | ||
298 | No GNU_HASH in the elf binary: '<file>' [ldflags] | 421 | No GNU_HASH in the elf binary: '<file>' [ldflags] |
299 | </literallayout> | 422 | </code> |
300 | This indicates that binaries produced when building the | 423 | </para> |
301 | recipe have not been linked with the | 424 | |
302 | <link linkend='var-LDFLAGS'><filename>LDFLAGS</filename></link> | 425 | <para> |
303 | options provided by the build system. | 426 | This indicates that binaries produced when building the |
304 | Check to be sure that the <filename>LDFLAGS</filename> variable | 427 | recipe have not been linked with the |
305 | is being passed to the linker command. | 428 | <link linkend='var-LDFLAGS'><filename>LDFLAGS</filename></link> |
306 | A common workaround for this situation is to pass in | 429 | options provided by the build system. |
307 | <filename>LDFLAGS</filename> using | 430 | Check to be sure that the <filename>LDFLAGS</filename> |
308 | <link linkend='var-TARGET_CC_ARCH'><filename>TARGET_CC_ARCH</filename></link> | 431 | variable is being passed to the linker command. |
309 | within the recipe as follows: | 432 | A common workaround for this situation is to pass in |
310 | <literallayout class='monospaced'> | 433 | <filename>LDFLAGS</filename> using |
434 | <link linkend='var-TARGET_CC_ARCH'><filename>TARGET_CC_ARCH</filename></link> | ||
435 | within the recipe as follows: | ||
436 | <literallayout class='monospaced'> | ||
311 | TARGET_CC_ARCH += "${LDFLAGS}" | 437 | TARGET_CC_ARCH += "${LDFLAGS}" |
312 | </literallayout> | 438 | </literallayout> |
313 | </para></listitem> | 439 | </para> |
440 | |||
441 | <para> | ||
442 | | ||
443 | </para> | ||
444 | </listitem> | ||
314 | </itemizedlist> | 445 | </itemizedlist> |
315 | </para> | 446 | </para> |
316 | 447 | ||
317 | <para> | 448 | <para> |
318 | <itemizedlist> | 449 | <itemizedlist> |
319 | <listitem><para> | 450 | <listitem> |
320 | <literallayout class='monospaced'> | 451 | <para> |
452 | <code> | ||
321 | Package <packagename> contains Xorg driver (<driver>) but no xorg-abi- dependencies [xorg-driver-abi] | 453 | Package <packagename> contains Xorg driver (<driver>) but no xorg-abi- dependencies [xorg-driver-abi] |
322 | </literallayout> | 454 | </code> |
323 | The specified package contains an Xorg driver, but does not | 455 | </para> |
324 | have a corresponding ABI package dependency. | 456 | |
325 | The xserver-xorg recipe provides driver ABI names. | 457 | <para> |
326 | All drivers should depend on the ABI versions that they have | 458 | The specified package contains an Xorg driver, but does not |
327 | been built against. | 459 | have a corresponding ABI package dependency. |
328 | Driver recipes that include | 460 | The xserver-xorg recipe provides driver ABI names. |
329 | <filename>xorg-driver-input.inc</filename> or | 461 | All drivers should depend on the ABI versions that they have |
330 | <filename>xorg-driver-video.inc</filename> will automatically | 462 | been built against. |
331 | get these versions. | 463 | Driver recipes that include |
332 | Consequently, you should only need to explicitly add | 464 | <filename>xorg-driver-input.inc</filename> or |
333 | dependencies to binary driver recipes. | 465 | <filename>xorg-driver-video.inc</filename> will |
334 | </para></listitem> | 466 | automatically get these versions. |
467 | Consequently, you should only need to explicitly add | ||
468 | dependencies to binary driver recipes. | ||
469 | </para> | ||
470 | |||
471 | <para> | ||
472 | | ||
473 | </para> | ||
474 | </listitem> | ||
335 | </itemizedlist> | 475 | </itemizedlist> |
336 | </para> | 476 | </para> |
337 | 477 | ||
338 | <para> | 478 | <para> |
339 | <itemizedlist> | 479 | <itemizedlist> |
340 | <listitem><para> | 480 | <listitem> |
341 | <literallayout class='monospaced'> | 481 | <para> |
482 | <code> | ||
342 | The /usr/share/info/dir file is not meant to be shipped in a particular package. [infodir] | 483 | The /usr/share/info/dir file is not meant to be shipped in a particular package. [infodir] |
343 | </literallayout> | 484 | </code> |
344 | The <filename>/usr/share/info/dir</filename> should not be | 485 | </para> |
345 | packaged. | 486 | |
346 | Add the following line to your | 487 | <para> |
347 | <link linkend='ref-tasks-install'><filename>do_install</filename></link> | 488 | The <filename>/usr/share/info/dir</filename> should not be |
348 | task or to your <filename>do_install_append</filename> within | 489 | packaged. |
349 | the recipe as follows: | 490 | Add the following line to your |
350 | <literallayout class='monospaced'> | 491 | <link linkend='ref-tasks-install'><filename>do_install</filename></link> |
492 | task or to your <filename>do_install_append</filename> | ||
493 | within the recipe as follows: | ||
494 | <literallayout class='monospaced'> | ||
351 | rm ${D}${infodir}/dir | 495 | rm ${D}${infodir}/dir |
352 | </literallayout> | 496 | </literallayout> |
353 | </para></listitem> | 497 | </para> |
498 | |||
499 | <para> | ||
500 | | ||
501 | </para> | ||
502 | </listitem> | ||
354 | </itemizedlist> | 503 | </itemizedlist> |
355 | </para> | 504 | </para> |
356 | 505 | ||
357 | <para> | 506 | <para> |
358 | <itemizedlist> | 507 | <itemizedlist> |
359 | <listitem><para> | 508 | <listitem> |
360 | <literallayout class='monospaced'> | 509 | <para> |
510 | <code> | ||
361 | Symlink <path> in <packagename> points to TMPDIR [symlink-to-sysroot] | 511 | Symlink <path> in <packagename> points to TMPDIR [symlink-to-sysroot] |
362 | </literallayout> | 512 | </code> |
363 | The specified symlink points into | 513 | </para> |
364 | <link linkend='var-TMPDIR'><filename>TMPDIR</filename></link> | 514 | |
365 | on the host. | 515 | <para> |
366 | Such symlinks will work on the host. | 516 | The specified symlink points into |
367 | However, they are clearly invalid when running on the target. | 517 | <link linkend='var-TMPDIR'><filename>TMPDIR</filename></link> |
368 | You should either correct the symlink to use a relative path | 518 | on the host. |
369 | or remove the symlink. | 519 | Such symlinks will work on the host. |
370 | </para></listitem> | 520 | However, they are clearly invalid when running on |
521 | the target. | ||
522 | You should either correct the symlink to use a relative | ||
523 | path or remove the symlink. | ||
524 | </para> | ||
525 | |||
526 | <para> | ||
527 | | ||
528 | </para> | ||
529 | </listitem> | ||
371 | </itemizedlist> | 530 | </itemizedlist> |
372 | </para> | 531 | </para> |
373 | 532 | ||
374 | <para> | 533 | <para> |
375 | <itemizedlist> | 534 | <itemizedlist> |
376 | <listitem><para> | 535 | <listitem> |
377 | <literallayout class='monospaced'> | 536 | <para> |
537 | <code> | ||
378 | <file> failed sanity test (workdir) in path <path> [la] | 538 | <file> failed sanity test (workdir) in path <path> [la] |
379 | </literallayout> | 539 | </code> |
380 | The specified <filename>.la</filename> file contains | 540 | </para> |
381 | <link linkend='var-TMPDIR'><filename>TMPDIR</filename></link> | 541 | |
382 | paths. | 542 | <para> |
383 | Any <filename>.la</filename> file containing these paths | 543 | The specified <filename>.la</filename> file contains |
384 | is incorrect since <filename>libtool</filename> adds the | 544 | <link linkend='var-TMPDIR'><filename>TMPDIR</filename></link> |
385 | correct sysroot prefix when using the files automatically | 545 | paths. |
386 | itself. | 546 | Any <filename>.la</filename> file containing these paths |
387 | </para></listitem> | 547 | is incorrect since <filename>libtool</filename> adds the |
548 | correct sysroot prefix when using the files automatically | ||
549 | itself. | ||
550 | </para> | ||
551 | |||
552 | <para> | ||
553 | | ||
554 | </para> | ||
555 | </listitem> | ||
388 | </itemizedlist> | 556 | </itemizedlist> |
389 | </para> | 557 | </para> |
390 | 558 | ||
391 | <para> | 559 | <para> |
392 | <itemizedlist> | 560 | <itemizedlist> |
393 | <listitem><para> | 561 | <listitem> |
394 | <literallayout class='monospaced'> | 562 | <para> |
563 | <code> | ||
395 | <file> failed sanity test (tmpdir) in path <path> [pkgconfig] | 564 | <file> failed sanity test (tmpdir) in path <path> [pkgconfig] |
396 | </literallayout> | 565 | </code> |
397 | The specified <filename>.pc</filename> file contains | 566 | </para> |
398 | <link linkend='var-TMPDIR'><filename>TMPDIR</filename></link><filename>/</filename><link linkend='var-WORKDIR'><filename>WORKDIR</filename></link> | 567 | |
399 | paths. | 568 | <para> |
400 | Any <filename>.pc</filename> file containing these paths is | 569 | The specified <filename>.pc</filename> file contains |
401 | incorrect since <filename>pkg-config</filename> itself adds | 570 | <link linkend='var-TMPDIR'><filename>TMPDIR</filename></link><filename>/</filename><link linkend='var-WORKDIR'><filename>WORKDIR</filename></link> |
402 | the correct sysroot prefix when the files are accessed. | 571 | paths. |
403 | </para></listitem> | 572 | Any <filename>.pc</filename> file containing these paths is |
573 | incorrect since <filename>pkg-config</filename> itself adds | ||
574 | the correct sysroot prefix when the files are accessed. | ||
575 | </para> | ||
576 | |||
577 | <para> | ||
578 | | ||
579 | </para> | ||
580 | </listitem> | ||
404 | </itemizedlist> | 581 | </itemizedlist> |
405 | </para> | 582 | </para> |
406 | 583 | ||
407 | <para> | 584 | <para> |
408 | <itemizedlist> | 585 | <itemizedlist> |
409 | <listitem><para> | 586 | <listitem> |
410 | <literallayout class='monospaced'> | 587 | <para> |
588 | <code> | ||
411 | <packagename> rdepends on <debug_packagename> [debug-deps] | 589 | <packagename> rdepends on <debug_packagename> [debug-deps] |
412 | </literallayout> | 590 | </code> |
413 | A dependency exists between the specified non-dbg package | 591 | </para> |
414 | (a package whose name does not end in | 592 | |
415 | <filename>-dbg</filename>) and a package that is a | 593 | <para> |
416 | <filename>dbg</filename> package. | 594 | A dependency exists between the specified non-dbg package |
417 | The <filename>dbg</filename> packages contain debug symbols | 595 | (i.e. a package whose name does not end in |
418 | and are usually brought in using the dbg-pkgs | 596 | <filename>-dbg</filename>) and a package that is a |
419 | <link linkend='var-IMAGE_FEATURES'><filename>IMAGE_FEATURES</filename></link> | 597 | <filename>dbg</filename> package. |
420 | value or explicitly brought into the image using | 598 | The <filename>dbg</filename> packages contain debug symbols |
421 | <link linkend='var-IMAGE_INSTALL'><filename>IMAGE_INSTALL</filename></link> | 599 | that are brought in a number of ways: |
422 | (or as a dependency of another <filename>dbg</filename> | 600 | <itemizedlist> |
423 | package brought in using either method). | 601 | <listitem><para> |
424 | The dependency might have been automatically added | 602 | Using the <filename>dbg-pkgs</filename> |
425 | (because the <filename>dbg</filename> package erroneously | 603 | <link linkend='var-IMAGE_FEATURES'><filename>IMAGE_FEATURES</filename></link> |
426 | contains files that it should not contain (e.g. a non-symlink | 604 | value. |
427 | <filename>.so</filename> file) or it might have been added | 605 | </para></listitem> |
428 | manually (e.g. by adding to | 606 | <listitem><para> |
429 | <link linkend='var-RDEPENDS'><filename>RDEPENDS</filename></link>. | 607 | Using |
430 | </para></listitem> | 608 | <link linkend='var-IMAGE_INSTALL'><filename>IMAGE_INSTALL</filename></link>. |
609 | </para></listitem> | ||
610 | <listitem><para> | ||
611 | Using either of the previous methods | ||
612 | as a dependency of another | ||
613 | <filename>dbg</filename> package. | ||
614 | </para></listitem> | ||
615 | </itemizedlist> | ||
616 | The dependency might have been automatically added | ||
617 | because the <filename>dbg</filename> package erroneously | ||
618 | contains files that it should not contain (e.g. a | ||
619 | non-symlink <filename>.so</filename> file) or it might | ||
620 | have been added manually (e.g. by adding to | ||
621 | <link linkend='var-RDEPENDS'><filename>RDEPENDS</filename></link>). | ||
622 | </para> | ||
623 | |||
624 | <para> | ||
625 | | ||
626 | </para> | ||
627 | </listitem> | ||
431 | </itemizedlist> | 628 | </itemizedlist> |
432 | </para> | 629 | </para> |
433 | 630 | ||
434 | <para> | 631 | <para> |
435 | <itemizedlist> | 632 | <itemizedlist> |
436 | <listitem><para> | 633 | <listitem> |
437 | <literallayout class='monospaced'> | 634 | <para> |
635 | <code> | ||
438 | <packagename> rdepends on <dev_packagename> [dev-deps] | 636 | <packagename> rdepends on <dev_packagename> [dev-deps] |
439 | </literallayout> | 637 | </code> |
440 | A dependency exists between the specified non-dev package | 638 | </para> |
441 | (a package whose name does not end in | 639 | |
442 | <filename>-dev</filename>) and a package that is a | 640 | <para> |
443 | <filename>dev</filename> package. | 641 | A dependency exists between the specified non-dev package |
444 | The <filename>dev</filename> packages contain development | 642 | (a package whose name does not end in |
445 | headers and are usually brought in using the dev-pkgs | 643 | <filename>-dev</filename>) and a package that is a |
446 | <link linkend='var-IMAGE_FEATURES'><filename>IMAGE_FEATURES</filename></link> | 644 | <filename>dev</filename> package. |
447 | value or explicitly brought into the image using | 645 | The <filename>dev</filename> packages contain development |
448 | <link linkend='var-IMAGE_INSTALL'><filename>IMAGE_INSTALL</filename></link> | 646 | headers and are usually brought in using the |
449 | (or as a dependency of another <filename>dev</filename> | 647 | <filename>dev-pkgs</filename> |
450 | package brought in using either method). | 648 | <link linkend='var-IMAGE_FEATURES'><filename>IMAGE_FEATURES</filename></link> |
451 | The dependency might have been automatically added (because | 649 | value or explicitly brought into the image using |
452 | the <filename>dev</filename> package erroneously contains | 650 | <link linkend='var-IMAGE_INSTALL'><filename>IMAGE_INSTALL</filename></link> |
453 | files that it should not have (e.g. a non-symlink | 651 | (or as a dependency of another <filename>dev</filename> |
454 | <filename>.so</filename> file) or it might have been added | 652 | package brought in using either method). |
455 | manually (e.g. by adding to | 653 | The dependency might have been automatically added (because |
456 | <link linkend='var-RDEPENDS'><filename>RDEPENDS</filename></link>. | 654 | the <filename>dev</filename> package erroneously contains |
457 | </para></listitem> | 655 | files that it should not have (e.g. a non-symlink |
656 | <filename>.so</filename> file) or it might have been added | ||
657 | manually (e.g. by adding to | ||
658 | <link linkend='var-RDEPENDS'><filename>RDEPENDS</filename></link>. | ||
659 | </para> | ||
660 | |||
661 | <para> | ||
662 | | ||
663 | </para> | ||
664 | </listitem> | ||
458 | </itemizedlist> | 665 | </itemizedlist> |
459 | </para> | 666 | </para> |
460 | 667 | ||
461 | <para> | 668 | <para> |
462 | <itemizedlist> | 669 | <itemizedlist> |
463 | <listitem><para> | 670 | <listitem> |
464 | <literallayout class='monospaced'> | 671 | <para> |
672 | <code> | ||
465 | <var>_<packagename> is invalid: <comparison> (<value>) only comparisons <, =, >, <=, and >= are allowed [dep-cmp] | 673 | <var>_<packagename> is invalid: <comparison> (<value>) only comparisons <, =, >, <=, and >= are allowed [dep-cmp] |
466 | </literallayout> | 674 | </code> |
467 | If you are adding a versioned dependency relationship to one | 675 | </para> |
468 | of the dependency variables | 676 | |
469 | (<link linkend='var-RDEPENDS'><filename>RDEPENDS</filename></link>, | 677 | <para> |
470 | <link linkend='var-RRECOMMENDS'><filename>RRECOMMENDS</filename></link>, | 678 | If you are adding a versioned dependency relationship to one |
471 | <link linkend='var-RSUGGESTS'><filename>RSUGGESTS</filename></link>, | 679 | of the dependency variables |
472 | <link linkend='var-RPROVIDES'><filename>RPROVIDES</filename></link>, | 680 | (<link linkend='var-RDEPENDS'><filename>RDEPENDS</filename></link>, |
473 | <link linkend='var-RREPLACES'><filename>RREPLACES</filename></link>, | 681 | <link linkend='var-RRECOMMENDS'><filename>RRECOMMENDS</filename></link>, |
474 | or | 682 | <link linkend='var-RSUGGESTS'><filename>RSUGGESTS</filename></link>, |
475 | <link linkend='var-RCONFLICTS'><filename>RCONFLICTS</filename></link>), | 683 | <link linkend='var-RPROVIDES'><filename>RPROVIDES</filename></link>, |
476 | you must only use the named comparison operators. | 684 | <link linkend='var-RREPLACES'><filename>RREPLACES</filename></link>, |
477 | Change the versioned dependency values you are adding to match | 685 | or |
478 | those listed in the message. | 686 | <link linkend='var-RCONFLICTS'><filename>RCONFLICTS</filename></link>), |
479 | </para></listitem> | 687 | you must only use the named comparison operators. |
688 | Change the versioned dependency values you are adding | ||
689 | to match those listed in the message. | ||
690 | </para> | ||
691 | |||
692 | <para> | ||
693 | | ||
694 | </para> | ||
695 | </listitem> | ||
480 | </itemizedlist> | 696 | </itemizedlist> |
481 | </para> | 697 | </para> |
482 | 698 | ||
483 | <para> | 699 | <para> |
484 | <itemizedlist> | 700 | <itemizedlist> |
485 | <listitem><para> | 701 | <listitem> |
486 | <literallayout class='monospaced'> | 702 | <para> |
703 | <code> | ||
487 | <recipename>: The compile log indicates that host include and/or library paths were used. Please check the log '<logfile>' for more information. [compile-host-path] | 704 | <recipename>: The compile log indicates that host include and/or library paths were used. Please check the log '<logfile>' for more information. [compile-host-path] |
488 | </literallayout> | 705 | </code> |
489 | The log for the | 706 | </para> |
490 | <link linkend='ref-tasks-compile'><filename>do_compile</filename></link> | 707 | |
491 | task indicates that paths on the host were searched for files, | 708 | <para> |
492 | which is not appropriate when cross-compiling. | 709 | The log for the |
493 | Look for "is unsafe for cross-compilation" or "CROSS COMPILE | 710 | <link linkend='ref-tasks-compile'><filename>do_compile</filename></link> |
494 | Badness" in the specified log file. | 711 | task indicates that paths on the host were searched |
495 | </para></listitem> | 712 | for files, which is not appropriate when cross-compiling. |
713 | Look for "is unsafe for cross-compilation" or "CROSS COMPILE | ||
714 | Badness" in the specified log file. | ||
715 | </para> | ||
716 | |||
717 | <para> | ||
718 | | ||
719 | </para> | ||
720 | </listitem> | ||
496 | </itemizedlist> | 721 | </itemizedlist> |
497 | </para> | 722 | </para> |
498 | 723 | ||
499 | <para> | 724 | <para> |
500 | <itemizedlist> | 725 | <itemizedlist> |
501 | <listitem><para> | 726 | <listitem> |
502 | <literallayout class='monospaced'> | 727 | <para> |
728 | <code> | ||
503 | <recipename>: The install log indicates that host include and/or library paths were used. Please check the log '<logfile>' for more information. [install-host-path] | 729 | <recipename>: The install log indicates that host include and/or library paths were used. Please check the log '<logfile>' for more information. [install-host-path] |
504 | </literallayout> | 730 | </code> |
505 | The log for the | 731 | </para> |
506 | <link linkend='ref-tasks-install'><filename>do_install</filename></link> | 732 | |
507 | task indicates that paths on the host were searched for files, | 733 | <para> |
508 | which is not appropriate when cross-compiling. | 734 | The log for the |
509 | Look for "is unsafe for cross-compilation" or "CROSS COMPILE | 735 | <link linkend='ref-tasks-install'><filename>do_install</filename></link> |
510 | Badness" in the specified log file. | 736 | task indicates that paths on the host were searched |
511 | </para></listitem> | 737 | for files, which is not appropriate when cross-compiling. |
738 | Look for "is unsafe for cross-compilation" | ||
739 | or "CROSS COMPILE Badness" in the specified log file. | ||
740 | </para> | ||
741 | |||
742 | <para> | ||
743 | | ||
744 | </para> | ||
745 | </listitem> | ||
512 | </itemizedlist> | 746 | </itemizedlist> |
513 | </para> | 747 | </para> |
514 | 748 | ||
515 | <para> | 749 | <para> |
516 | <itemizedlist> | 750 | <itemizedlist> |
517 | <listitem><para> | 751 | <listitem> |
518 | <literallayout class='monospaced'> | 752 | <para> |
753 | <code> | ||
519 | This autoconf log indicates errors, it looked at host include and/or library paths while determining system capabilities. Rerun configure task after fixing this. The path was '<path>' | 754 | This autoconf log indicates errors, it looked at host include and/or library paths while determining system capabilities. Rerun configure task after fixing this. The path was '<path>' |
520 | </literallayout> | 755 | </code> |
521 | The log for the | 756 | </para> |
522 | <link linkend='ref-tasks-configure'><filename>do_configure</filename></link> | 757 | |
523 | task indicates that paths on the host were searched for files, | 758 | <para> |
524 | which is not appropriate when cross-compiling. | 759 | The log for the |
525 | Look for "is unsafe for cross-compilation" or "CROSS COMPILE | 760 | <link linkend='ref-tasks-configure'><filename>do_configure</filename></link> |
526 | Badness" in the specified log file. | 761 | task indicates that paths on the host were searched |
527 | </para></listitem> | 762 | for files, which is not appropriate when cross-compiling. |
763 | Look for "is unsafe for cross-compilation" or | ||
764 | "CROSS COMPILE Badness" in the specified log file. | ||
765 | </para> | ||
766 | |||
767 | <para> | ||
768 | | ||
769 | </para> | ||
770 | </listitem> | ||
528 | </itemizedlist> | 771 | </itemizedlist> |
529 | </para> | 772 | </para> |
530 | 773 | ||
531 | <para> | 774 | <para> |
532 | <itemizedlist> | 775 | <itemizedlist> |
533 | <listitem><para> | 776 | <listitem> |
534 | <literallayout class='monospaced'> | 777 | <para> |
778 | <code> | ||
535 | <packagename> doesn't match the [a-z0-9.+-]+ regex [pkgname] | 779 | <packagename> doesn't match the [a-z0-9.+-]+ regex [pkgname] |
536 | </literallayout> | 780 | </code> |
537 | The convention within the OpenEmbedded build system is for | 781 | </para> |
538 | package names (sometimes enforced by the package manager itself) | 782 | |
539 | to require that package names are all lower case and to | 783 | <para> |
540 | allow a restricted set of characters. | 784 | The convention within the OpenEmbedded build system |
541 | If your recipe name does not match this, or you add packages | 785 | (sometimes enforced by the package manager itself) is to |
542 | to | 786 | require that package names are all lower case |
543 | <link linkend='var-PACKAGES'><filename>PACKAGES</filename></link> | 787 | and to allow a restricted set of characters. |
544 | that do not conform to the convention, then you will receive | 788 | If your recipe name does not match this, or you add |
545 | this error. | 789 | packages to |
546 | Rename your recipe. | 790 | <link linkend='var-PACKAGES'><filename>PACKAGES</filename></link> |
547 | Or, if you have added a non-conforming package name to | 791 | that do not conform to the convention, then you |
548 | <filename>PACKAGES</filename>, change the package name | 792 | will receive this error. |
549 | appropriately. | 793 | Rename your recipe. |
550 | </para></listitem> | 794 | Or, if you have added a non-conforming package name to |
795 | <filename>PACKAGES</filename>, change the package name | ||
796 | appropriately. | ||
797 | </para> | ||
798 | |||
799 | <para> | ||
800 | | ||
801 | </para> | ||
802 | </listitem> | ||
551 | </itemizedlist> | 803 | </itemizedlist> |
552 | </para> | 804 | </para> |
553 | 805 | ||
554 | <para> | 806 | <para> |
555 | <itemizedlist> | 807 | <itemizedlist> |
556 | <listitem><para> | 808 | <listitem> |
557 | <literallayout class='monospaced'> | 809 | <para> |
810 | <code> | ||
558 | <recipe>: configure was passed unrecognized options: <options> [unknown-configure-option] | 811 | <recipe>: configure was passed unrecognized options: <options> [unknown-configure-option] |
559 | </literallayout> | 812 | </code> |
560 | The configure script is reporting that the specified options | 813 | </para> |
561 | are unrecognized. | 814 | |
562 | This situation could be because the options were previously | 815 | <para> |
563 | valid but have been removed. | 816 | The configure script is reporting that the specified |
564 | Or, there was a mistake when the options were added and there | 817 | options are unrecognized. |
565 | is another option that should be used instead. | 818 | This situation could be because the options |
566 | If you are unsure, consult the upstream build documentation, | 819 | were previously valid but have been removed from the |
567 | the <filename>./configure ‐‐help</filename> output, | 820 | configure script. |
568 | and the upstream change log or release notes. | 821 | Or, there was a mistake when the options were added |
569 | Once you have worked out what the appropriate change is, you | 822 | and there is another option that should be used instead. |
570 | can update | 823 | If you are unsure, consult the upstream build |
571 | <link linkend='var-EXTRA_OECONF'><filename>EXTRA_OECONF</filename></link> | 824 | documentation, the |
572 | or the individual | 825 | <filename>./configure ‐‐help</filename> output, |
573 | <link linkend='var-PACKAGECONFIG'><filename>PACKAGECONFIG</filename></link> | 826 | and the upstream change log or release notes. |
574 | option values accordingly. | 827 | Once you have worked out what the appropriate |
575 | </para></listitem> | 828 | change is, you can update |
829 | <link linkend='var-EXTRA_OECONF'><filename>EXTRA_OECONF</filename></link> | ||
830 | or the individual | ||
831 | <link linkend='var-PACKAGECONFIG'><filename>PACKAGECONFIG</filename></link> | ||
832 | option values accordingly. | ||
833 | </para> | ||
834 | |||
835 | <para> | ||
836 | | ||
837 | </para> | ||
838 | </listitem> | ||
576 | </itemizedlist> | 839 | </itemizedlist> |
577 | </para> | 840 | </para> |
578 | 841 | ||
579 | <para> | 842 | <para> |
580 | <itemizedlist> | 843 | <itemizedlist> |
581 | <listitem><para> | 844 | <listitem> |
582 | <literallayout class='monospaced'> | 845 | <para> |
846 | <code> | ||
583 | Recipe <recipefile> has PN of "<recipename>" which is in OVERRIDES, this can result in unexpected behavior. [pn-overrides] | 847 | Recipe <recipefile> has PN of "<recipename>" which is in OVERRIDES, this can result in unexpected behavior. [pn-overrides] |
584 | </literallayout> | 848 | </code> |
585 | The specified recipe has a name | 849 | </para> |
586 | (<link linkend='var-PN'><filename>PN</filename></link>) | 850 | |
587 | value that appears in | 851 | <para> |
588 | <link linkend='var-OVERRIDES'><filename>OVERRIDES</filename></link>. | 852 | The specified recipe has a name |
589 | If a recipe is named such that its <filename>PN</filename> | 853 | (<link linkend='var-PN'><filename>PN</filename></link>) |
590 | value matches something already in | 854 | value that appears in |
591 | <filename>OVERRIDES</filename> (e.g. <filename>PN</filename> | 855 | <link linkend='var-OVERRIDES'><filename>OVERRIDES</filename></link>. |
592 | happens to be the same as | 856 | If a recipe is named such that its <filename>PN</filename> |
593 | <link linkend='var-MACHINE'><filename>MACHINE</filename></link> | 857 | value matches something already in |
594 | or | 858 | <filename>OVERRIDES</filename> (e.g. <filename>PN</filename> |
595 | <link linkend='var-DISTRO'><filename>DISTRO</filename></link>), | 859 | happens to be the same as |
596 | it can have unexpected consequences. | 860 | <link linkend='var-MACHINE'><filename>MACHINE</filename></link> |
597 | For example, assignments such as | 861 | or |
598 | <filename>FILES_${PN} = "xyz"</filename> effectively turn into | 862 | <link linkend='var-DISTRO'><filename>DISTRO</filename></link>), |
599 | <filename>FILES = "xyz"</filename>. | 863 | it can have unexpected consequences. |
600 | Rename your recipe (or if <filename>PN</filename> is being | 864 | For example, assignments such as |
601 | set explicitly, change the <filename>PN</filename> value) so | 865 | <filename>FILES_${PN} = "xyz"</filename> effectively |
602 | that the conflict does not occur. | 866 | turn into <filename>FILES = "xyz"</filename>. |
603 | See | 867 | Rename your recipe (or if <filename>PN</filename> is being |
604 | <link linkend='var-FILES'><filename>FILES</filename></link> | 868 | set explicitly, change the <filename>PN</filename> value) so |
605 | for additional information. | 869 | that the conflict does not occur. |
606 | </para></listitem> | 870 | See |
871 | <link linkend='var-FILES'><filename>FILES</filename></link> | ||
872 | for additional information. | ||
873 | </para> | ||
874 | |||
875 | <para> | ||
876 | | ||
877 | </para> | ||
878 | </listitem> | ||
607 | </itemizedlist> | 879 | </itemizedlist> |
608 | </para> | 880 | </para> |
609 | 881 | ||
610 | <para> | 882 | <para> |
611 | <itemizedlist> | 883 | <itemizedlist> |
612 | <listitem><para> | 884 | <listitem> |
613 | <literallayout class='monospaced'> | 885 | <para> |
886 | <code> | ||
614 | <recipefile>: Variable <variable> is set as not being package specific, please fix this. [pkgvarcheck] | 887 | <recipefile>: Variable <variable> is set as not being package specific, please fix this. [pkgvarcheck] |
615 | </literallayout> | 888 | </code> |
616 | Certain variables | 889 | </para> |
617 | (<link linkend='var-RDEPENDS'><filename>RDEPENDS</filename></link>, | 890 | |
618 | <link linkend='var-RRECOMMENDS'><filename>RRECOMMENDS</filename></link>, | 891 | <para> |
619 | <link linkend='var-RSUGGESTS'><filename>RSUGGESTS</filename></link>, | 892 | Certain variables |
620 | <link linkend='var-RCONFLICTS'><filename>RCONFLICTS</filename></link>, | 893 | (<link linkend='var-RDEPENDS'><filename>RDEPENDS</filename></link>, |
621 | <link linkend='var-RPROVIDES'><filename>RPROVIDES</filename></link>, | 894 | <link linkend='var-RRECOMMENDS'><filename>RRECOMMENDS</filename></link>, |
622 | <link linkend='var-RREPLACES'><filename>RREPLACES</filename></link>, | 895 | <link linkend='var-RSUGGESTS'><filename>RSUGGESTS</filename></link>, |
623 | <link linkend='var-FILES'><filename>FILES</filename></link>, | 896 | <link linkend='var-RCONFLICTS'><filename>RCONFLICTS</filename></link>, |
624 | <filename>pkg_preinst</filename>, | 897 | <link linkend='var-RPROVIDES'><filename>RPROVIDES</filename></link>, |
625 | <filename>pkg_postinst</filename>, | 898 | <link linkend='var-RREPLACES'><filename>RREPLACES</filename></link>, |
626 | <filename>pkg_prerm</filename>, | 899 | <link linkend='var-FILES'><filename>FILES</filename></link>, |
627 | <filename>pkg_postrm</filename>, and | 900 | <filename>pkg_preinst</filename>, |
628 | <link linkend='var-ALLOW_EMPTY'><filename>ALLOW_EMPTY</filename></link>) | 901 | <filename>pkg_postinst</filename>, |
629 | should always be set specific to a package (i.e. they should | 902 | <filename>pkg_prerm</filename>, |
630 | be set with a package name override such as | 903 | <filename>pkg_postrm</filename>, and |
631 | <filename>RDEPENDS_${PN} = "value"</filename> rather than | 904 | <link linkend='var-ALLOW_EMPTY'><filename>ALLOW_EMPTY</filename></link>) |
632 | <filename>RDEPENDS = "value"</filename>). | 905 | should always be set specific to a package (i.e. they |
633 | If you receive this error, correct any assignments to these | 906 | should be set with a package name override such as |
634 | variables within your recipe. | 907 | <filename>RDEPENDS_${PN} = "value"</filename> rather than |
635 | </para></listitem> | 908 | <filename>RDEPENDS = "value"</filename>). |
909 | If you receive this error, correct any assignments to these | ||
910 | variables within your recipe. | ||
911 | </para> | ||
912 | |||
913 | <para> | ||
914 | | ||
915 | </para> | ||
916 | </listitem> | ||
636 | </itemizedlist> | 917 | </itemizedlist> |
637 | </para> | 918 | </para> |
638 | 919 | ||
639 | <para> | 920 | <para> |
640 | <itemizedlist> | 921 | <itemizedlist> |
641 | <listitem><para> | 922 | <listitem> |
642 | <literallayout class='monospaced'> | 923 | <para> |
924 | <code> | ||
643 | File '<file>' from <recipename> was already stripped, this will prevent future debugging! [already-stripped] | 925 | File '<file>' from <recipename> was already stripped, this will prevent future debugging! [already-stripped] |
644 | </literallayout> | 926 | </code> |
645 | Produced binaries have already been stripped prior to the | 927 | </para> |
646 | build system extracting debug symbols. | 928 | |
647 | It is common for upstream software projects to default to | 929 | <para> |
648 | stripping debug symbols for output binaries. | 930 | Produced binaries have already been stripped prior to the |
649 | In order for debugging to work on the target using | 931 | build system extracting debug symbols. |
650 | <filename>-dbg</filename> packages, this stripping must be | 932 | It is common for upstream software projects to default to |
651 | disabled. | 933 | stripping debug symbols for output binaries. |
652 | Depending on the build system used by the software being built, | 934 | In order for debugging to work on the target using |
653 | disabling this stripping could be as easy as specifying an | 935 | <filename>-dbg</filename> packages, this stripping must be |
654 | additional configure option. | 936 | disabled. |
655 | If not, disabling stripping might involve patching the build | 937 | Depending on the build system used by the software being |
656 | scripts. | 938 | built, disabling this stripping could be as easy as |
657 | </para></listitem> | 939 | specifying an additional configure option. |
940 | If not, disabling stripping might involve patching | ||
941 | the build scripts. | ||
942 | <note> | ||
943 | Disabling stripping here does not mean that the final | ||
944 | packaged binaries will be unstripped. | ||
945 | Once the OpenEmbedded build system splits out debug | ||
946 | symbols to the <filename>-dbg</filename> package, | ||
947 | it will then strip the symbols from the binaries. | ||
948 | </note> | ||
949 | </para> | ||
950 | |||
951 | <para> | ||
952 | | ||
953 | </para> | ||
954 | </listitem> | ||
658 | </itemizedlist> | 955 | </itemizedlist> |
659 | </para> | 956 | </para> |
660 | 957 | ||
661 | <para> | 958 | <para> |
662 | <itemizedlist> | 959 | <itemizedlist> |
663 | <listitem><para> | 960 | <listitem> |
664 | <literallayout class='monospaced'> | 961 | <para> |
962 | <code> | ||
665 | <packagename> is listed in PACKAGES multiple times, this leads to packaging errors. [packages-list] | 963 | <packagename> is listed in PACKAGES multiple times, this leads to packaging errors. [packages-list] |
666 | </literallayout> | 964 | </code> |
667 | Package names must appear only once in the | 965 | </para> |
668 | <link linkend='var-PACKAGES'><filename>PACKAGES</filename></link> | 966 | |
669 | variable. | 967 | <para> |
670 | You might receive this error if you are attempting to add a | 968 | Package names must appear only once in the |
671 | package to <filename>PACKAGES</filename> that is | 969 | <link linkend='var-PACKAGES'><filename>PACKAGES</filename></link> |
672 | already in the variable's value. | 970 | variable. |
673 | </para></listitem> | 971 | You might receive this error if you are attempting to add a |
972 | package to <filename>PACKAGES</filename> that is | ||
973 | already in the variable's value. | ||
974 | </para> | ||
975 | |||
976 | <para> | ||
977 | | ||
978 | </para> | ||
979 | </listitem> | ||
674 | </itemizedlist> | 980 | </itemizedlist> |
675 | </para> | 981 | </para> |
676 | 982 | ||
677 | <para> | 983 | <para> |
678 | <itemizedlist> | 984 | <itemizedlist> |
679 | <listitem><para> | 985 | <listitem> |
680 | <literallayout class='monospaced'> | 986 | <para> |
987 | <code> | ||
681 | FILES variable for package <packagename> contains '//' which is invalid. Attempting to fix this but you should correct the metadata. [files-invalid] | 988 | FILES variable for package <packagename> contains '//' which is invalid. Attempting to fix this but you should correct the metadata. [files-invalid] |
682 | </literallayout> | 989 | </code> |
683 | The string "//" is invalid in a Unix path. | 990 | </para> |
684 | Correct all occurrences where this string appears in a | 991 | |
685 | <link linkend='var-FILES'><filename>FILES</filename></link> | 992 | <para> |
686 | variable so that there is only a single "/". | 993 | The string "//" is invalid in a Unix path. |
687 | </para></listitem> | 994 | Correct all occurrences where this string appears in a |
995 | <link linkend='var-FILES'><filename>FILES</filename></link> | ||
996 | variable so that there is only a single "/". | ||
997 | </para> | ||
998 | |||
999 | <para> | ||
1000 | | ||
1001 | </para> | ||
1002 | </listitem> | ||
688 | </itemizedlist> | 1003 | </itemizedlist> |
689 | </para> | 1004 | </para> |
690 | 1005 | ||
691 | <para> | 1006 | <para> |
692 | <itemizedlist> | 1007 | <itemizedlist> |
693 | <listitem><para> | 1008 | <listitem> |
694 | <literallayout class='monospaced'> | 1009 | <para> |
1010 | <code> | ||
695 | <recipename>: Files/directories were installed but not shipped [installed-vs-shipped] | 1011 | <recipename>: Files/directories were installed but not shipped [installed-vs-shipped] |
696 | </literallayout> | 1012 | </code> |
697 | Files have been installed within the | 1013 | </para> |
698 | <link linkend='ref-tasks-install'><filename>do_install</filename></link> | 1014 | |
699 | task but have not been included in any package by way of the | 1015 | <para> |
700 | <link linkend='var-FILES'><filename>FILES</filename></link> | 1016 | Files have been installed within the |
701 | variable. | 1017 | <link linkend='ref-tasks-install'><filename>do_install</filename></link> |
702 | Files that do not appear in any package cannot be present in | 1018 | task but have not been included in any package by way of the |
703 | an image later on in the build process. | 1019 | <link linkend='var-FILES'><filename>FILES</filename></link> |
704 | You need to one of the following: | 1020 | variable. |
705 | <itemizedlist> | 1021 | Files that do not appear in any package cannot be present in |
706 | <listitem><para> | 1022 | an image later on in the build process. |
707 | Add the files to <filename>FILES</filename> for the | 1023 | You need to one of the following: |
708 | package you want them to appear in (e.g. | 1024 | <itemizedlist> |
709 | <filename>FILES_${</filename><link linkend='var-PN'><filename>PN</filename></link><filename>}</filename> for the main | 1025 | <listitem><para> |
710 | package). | 1026 | Add the files to <filename>FILES</filename> for the |
711 | </para></listitem> | 1027 | package you want them to appear in (e.g. |
712 | <listitem><para> | 1028 | <filename>FILES_${</filename><link linkend='var-PN'><filename>PN</filename></link><filename>}</filename> for the main |
713 | Delete the files at the end of the | 1029 | package). |
714 | <filename>do_install</filename> task if the files | 1030 | </para></listitem> |
715 | are not needed in any package | 1031 | <listitem><para> |
716 | </para></listitem> | 1032 | Delete the files at the end of the |
717 | </itemizedlist> | 1033 | <filename>do_install</filename> task if the files |
718 | </para></listitem> | 1034 | are not needed in any package. |
1035 | </para></listitem> | ||
1036 | </itemizedlist> | ||
1037 | </para> | ||
1038 | |||
1039 | <para> | ||
1040 | | ||
1041 | </para> | ||
1042 | </listitem> | ||
719 | </itemizedlist> | 1043 | </itemizedlist> |
720 | </para> | 1044 | </para> |
721 | 1045 | ||
722 | <para> | 1046 | <para> |
723 | <itemizedlist> | 1047 | <itemizedlist> |
724 | <listitem><para> | 1048 | <listitem> |
725 | <literallayout class='monospaced'> | 1049 | <para> |
1050 | <code> | ||
726 | <oldpackage>-<oldpkgversion> was registered as shlib provider for <library>, changing it to <newpackage>-<newpkgversion> because it was built later | 1051 | <oldpackage>-<oldpkgversion> was registered as shlib provider for <library>, changing it to <newpackage>-<newpkgversion> because it was built later |
727 | </literallayout> | 1052 | </code> |
728 | This message means that both | 1053 | </para> |
729 | <filename><oldpackage></filename> and | 1054 | |
730 | <filename><newpackage></filename> provide the specified | 1055 | <para> |
731 | shared library. | 1056 | This message means that both |
732 | You can expect this message when a recipe has been renamed. | 1057 | <filename><oldpackage></filename> and |
733 | However, if that is not the case, the message might indicate | 1058 | <filename><newpackage></filename> provide the specified |
734 | that a private version of a library is being erroneously | 1059 | shared library. |
735 | picked up as the provider for a common library. | 1060 | You can expect this message when a recipe has been renamed. |
736 | If that is the case, you should add the library's | 1061 | However, if that is not the case, the message might indicate |
737 | <filename>.so</filename> file name to | 1062 | that a private version of a library is being erroneously |
738 | <link linkend='var-PRIVATE_LIBS'><filename>PRIVATE_LIBS</filename></link> | 1063 | picked up as the provider for a common library. |
739 | in the recipe that provides | 1064 | If that is the case, you should add the library's |
740 | the private version of the library. | 1065 | <filename>.so</filename> file name to |
741 | </para></listitem> | 1066 | <link linkend='var-PRIVATE_LIBS'><filename>PRIVATE_LIBS</filename></link> |
1067 | in the recipe that provides | ||
1068 | the private version of the library. | ||
1069 | </para> | ||
1070 | </listitem> | ||
742 | </itemizedlist> | 1071 | </itemizedlist> |
743 | </para> | 1072 | </para> |
744 | 1073 | ||
@@ -782,6 +1111,27 @@ enabled by default: | |||
782 | --> | 1111 | --> |
783 | </section> | 1112 | </section> |
784 | 1113 | ||
1114 | <section id='configuring-and-disabling-qa-checks'> | ||
1115 | <title>Configuring and Disabling QA Checks</title> | ||
1116 | |||
1117 | <para> | ||
1118 | You can configure the sanity checks so that specific test failures | ||
1119 | either raise a warning or an error message. | ||
1120 | You can also use the | ||
1121 | <link linkend='var-WARN_QA'><filename>WARN_QA</filename></link> and | ||
1122 | <link linkend='var-ERROR_QA'><filename>ERROR_QA</filename></link> | ||
1123 | variables to configure warning and error reporting. | ||
1124 | For information on how to work with the QA checks, see the | ||
1125 | "<link linkend='ref-classes-insane'><filename>insane.bbclass</filename></link>" | ||
1126 | section. | ||
1127 | <note><title>Tip</title> | ||
1128 | Please keep in mind that the QA checks exist in order to | ||
1129 | detect real or potential problems in the packaged output. | ||
1130 | So exercise caution when disabling these checks. | ||
1131 | </note> | ||
1132 | </para> | ||
1133 | </section> | ||
1134 | |||
785 | </chapter> | 1135 | </chapter> |
786 | <!-- | 1136 | <!-- |
787 | vim: expandtab tw=80 ts=4 | 1137 | vim: expandtab tw=80 ts=4 |