Hardware Reference
In-Depth Information
Sometimes a component will fail in its configuration phase . Check the build.log
file first to determine precisely which component is involved. Next you will want to
examine the config.log file for that particular component. For example, let's say the isl
component failed. Dive down into the .build subdirectory until you find its config.log
file:
$ cd .build/arm-unknown-linux-gnueabi/build/build-isl-host-i686-build_pc-
linux-gnu
$ less config.log
Navigate to the end of config.log and work backward a few pages. Eventually, you
will see text describing the command that was tried and the error message produced.
In one instance, I was able to determine that the custom compiler option that I added
(-fpermissive ) was causing the failure. The solution then was to remove that option and
try again.
Some errors will occur only with certain version choices. At one time, I was receiving
errors related to PPL and needed a patch to correct it. Google is your friend (the following
patch is an example):
http://patchwork.ozlabs.org/patch/330733/
I found that saving that patch to a file and applying it to the sources corrected the
issue. Later, when I decided to start over with a different choice of compiler, this patch
became unnecessary (the software was downloaded fresh again).
In getting through these issues, you can simply make corrections and then rerun the
ct-ng build command. It is recommended that you plan for a later rebuild of everything
again (after a clean ), once the problems are solved. This will ensure that you have a good
build without dependency issues.
If, after a correction, you run into the same problem, you may need to do a clean
step first and start over. Depending on how deep you think the problem may be, choose
one of the following:
ct-ng clean
ct-ng distclean (Be careful; see the following text.)
The ct-ng clean command will usually be enough, forcing the next build to start
fresh. Any downloaded files and configuration will remain and are reused.
The ct-ng distclean command is much more drastic, since it removes all of the
downloaded content and your configuration files. I copied the .config file to .config.
bak and discovered to my horror that .config.bak had been removed! So if you back up
the .config file, copy it outside the current directory for safety.
Above all, keep your head. It's difficult to troubleshoot these issues if you feel
time pressure or get angry over the time invested. When under time pressure, leave it
for another day when you can deal with it leisurely and thoughtfully. Each redo takes
considerable time. Wherever possible, eliminate the guesswork.
With each problem, take a deep breath, patiently look for clues, and pay attention to
the details in the error messages. Remember that line in the movie Apollo 13 : “Work the
problem, people!”
 
Search WWH ::




Custom Search