cvs commit: hints errors.txt
tushar at linuxfromscratch.org
tushar at linuxfromscratch.org
Wed Oct 8 18:16:08 PDT 2003
tushar 03/10/08 19:16:08
Modified: . errors.txt
Updated Hint: errors
Revision Changes Path
1.4 +32 -29 hints/errors.txt
RCS file: /home/cvsroot/hints/errors.txt,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -u -r1.3 -r1.4
--- errors.txt 9 Oct 2003 01:15:45 -0000 1.3
+++ errors.txt 9 Oct 2003 01:16:08 -0000 1.4
@@ -26,19 +26,19 @@
I have an error in program <fill in whatever is appropriate>!
First of all, is it really an error? If you find the option "-Werror" in the
-lines that calls gcc, the "error" you're facing could as well be a warning
+lines that call gcc, the "error" you're facing could as well be a warning
(-Werror makes gcc handle all warnings as errors). You will often find warning
and error messages mixed before the classical "make: Error". A warning is
something gcc complains about, but continues without error, while an error is
something that stops you from compiling the package you are about to build.
To disable distracting warning messages, use "export CFLAGS="-w".
-Mostly further informations about the errors are missing, which is a nuisance
+Mostly, further informations about the errors are missing, which is a nuisance
for both the one who asks and the one who tries to answer, because of the
annoying dialogue that is often following. I have to admid that the LFS mailing
list and IRC never failed to solve my problems (and that in a rather cheerful
-way), but I reached a point at where I wanted to solve as much of my problems
-myself. So I had to learn a much, which was undoubtedly fun.
+way), but I reached a point at where I wanted to solve as many of my problems
+as possible. So I had to learn a much, which was undoubtedly fun.
WHAT KIND OF ERROR?
@@ -66,7 +66,7 @@
1. Compile-time Errors
First of all, check the package you are about to compile for files like README
-and/or INSTALL. You can ship around most errors by strictly following those
+and/or INSTALL. You can work around most errors by strictly following those
When you are about to build your package, you sometimes get the error that
@@ -101,9 +101,9 @@
contains a subdirectory, while the file to be included is in the common
directory, you'll have to edit the #include statement.
-In most cases the file will be in another directory than the developer thinks
-it is. The easiest way around that would be a symlink, but that is not a clean
-way. So we search the sources for occurrences of the "missing" file first:
+In most cases the file will be in a directory the developer did not expect.
+The easiest way around that would be a symlink, but that is not a clean way.
+So we search the sources for occurrences of the "missing" file first:
grep -R "<missing file's path and name>" *.*
@@ -119,12 +119,12 @@
18.104.22.168 Missing declaration
-Another fine errormessage goes about a missing declaration:
+Another fine error message goes about a missing declaration:
foo:124:4: bla undefined
if "bla" is a function from generic libraries (like glibc), it will probably be
-documented with a manpage which holds informations about which header file(s)
+documented with a manpage which holds information about which header file(s)
it needs to be included:
@@ -150,10 +150,10 @@
-In most of the cases the header file is not included where it's neccessary, so
-you just write it into the file where it is missing: "#include <stdfunc.h>".
+In most of the cases the header file is not included where it's needed, so you
+just write it into the file where it is missing: "#include <stdfunc.h>".
-If the definition is nowhere any standard library, you will have to search the
+If the definition is not in any standard library, you will have to search the
codebase of the program you are about to compile for the function it's missing:
grep "<function name>" *.* | less
@@ -172,9 +172,10 @@
Linking mostly fails because of missing libraries. Make sure your
/etc/ld.so.conf contains all directories with libraries in it. In case, another
directory is needed, use LDFLAGS: "export LDFLAGS=-L/usr/X11R6/lib" to include
-XFree86's libraries for sure.
+XFree86's libraries for sure. "/lib" and "/usr/lib" are always included by
+default and need not to be in there.
-Another (rather seldom) error can occur if libs are not linked right. I only
+Another (occasional) error can occur if libs are not linked right. I only
saw it happen once when some program linked to libpng, but forgot about libz,
which is used by libpng, but needs to be linked to, too. So in the Makefile,
where I found "LIBS=-lpng", I completed it to "LIBS=-lpng -lz". Mostly the
@@ -184,15 +185,15 @@
1.2 Segmentation Fault
This is most annoying. It means an application had an error that is so bad it
-rather drops core and stop immediately.
+rather dumps core and stop immediately.
1.2.1 Segfault during compilation
-Segmentation faults during compilation are very seldom. You only get SIG11 if
-the memory is full while building a package and will happen only on systems
-with few memory. You can add a loop device to swap to expand your memory; this
-will make compilation much slower, but at least it will work on such devices
-that contains too few memory:
+Segmentation faults during compilation are rarely seen. You only get SIG11 if
+the memory is full while building a package and it will happen only on systems
+with little memory. You can add a loop device to swap to expand your memory;
+this will make compilation much slower, but at least it will work on such
+devices that have insufficient memory:
dd if=/dev/zero of=/tmp/swapspace bs=1M count=128
losetup /dev/loop0 /tmp/swapspace
@@ -214,7 +215,7 @@
Hangups are the most annoying errors there are. Fortunately, they are as seldom
as annoying with Linux (unless you use bleeding edge sources only). Hangups are
mostly caused by endless loops, driver problems that leads to bus lockups, and
-hardware issues (like defect capacitors in the CPU power supply, check for
+hardware issues (like defective capacitors in the CPU power supply, check for
bursted ones). Infinite loops are easily spotted by the warnings of most
compilers, the latter is harder to find. Try to downgrade the driver you think
is responsible for the hangup and send a report to the relative mailing list.
@@ -226,23 +227,23 @@
hangup. Try pressing different keys then. If nothing else works, use a hard
reboot (that is always the last means of getting back to work). If the
keyboard is still available, but the screen is blank, try to reboot with
-[ALT][CTRL][DEL]. If even that doesn't work, you may be lucky to have the sysrq
-key feature compiled into your kernel. For further informations, read
+[ALT][CTRL][DEL]. If even that doesn't work, you may be lucky enough to have
+the sysrq key feature compiled into your kernel. For further information, read
1.3.2 Program-only Hangup
-If the program hangs up leaving the rest of the system intact, you can use the
-appropriate of the kill/killall/xkill commands to get rid of it.
+If the program hangs up leaving the rest system intact, you can use the
+appropriate of the kill/killall/xkill command to get rid of it.
1.4 Other errors
-If you get an errormessage not covered by this hint, check the relative
+If you get an error message not covered by this hint, check the relevant
mailinglists, enter the error message into google and look 1. if there is a
newer version or 2. if a cvs version, if available, has the same error. If
nothing else helps, ask in IRC or mail to the developers mailinglist or submit
a bug report. Remember to describe the error precisely and give enough
-informations about the system you are trying to build the package on.
+information about the system you are trying to build the package on.
May the source be with you!
@@ -255,7 +256,9 @@
* Almost forgot to give Tushar some credits, little changes and additions.
+ * Small changes and corrections suggested by Bill Maltby
Thanks to teemu for reminding me on "-I" and "-l" as much as Tushar for the
-warning about warnings and ringing the bell of the "-w" option :-)
+warning about warnings and ringing the bell of the "-w" option, not to
+forget Bill for his corrections. :-)
More information about the hints