Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 20574 - Compilation failure metabug
Summary: Compilation failure metabug
Status: VERIFIED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Unspecified (show other bugs)
Hardware: All All
: High normal (vote)
Assignee: Gentoo Linux bug wranglers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2003-05-07 06:49 UTC by Paul de Vrieze (RETIRED)
Modified: 2003-05-07 16:24 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Paul de Vrieze (RETIRED) gentoo-dev 2003-05-07 06:49:44 UTC
This is the compilation failure metabug. Bugs that file compilation bugs that
are caused by reasons that the gentoo developers cannot solve can be marked as a
duplicate of this bug.

The compilation failures that fit into this bugs can be one of the following:
- internal compiler errors or gcc segfaults. These are caused by gcc. We are
  sorry, but we cannot do anything about those. Please look at the end of this
  comment for a link to the bug reporting page of the gcc project.

- Random segfaults during compilation. These are signalled by compilation
  failing at undetermined points. Often trying to recompile will succesfully
  compile the file it was complaining about, but will fail for another. This is
  in general a sign of hardware problems.

- Segfaults in auxiliary tools used in the compilation process. Some merges fail
  on segmentation faults in auxiliary tools. When those tools are stable
  themselves (bugs with the tools themselves should not be marked duplicate of
  this bug) the causes are often the same as for gcc problems.

There are multiple causes that can cause the above symptoms:
- Flaky hardware. This is showstopper number one. The cause can be either:
  - Insufficient power supply. To detect this try to unplug as many auxiliary
    devices (like cd-players, usb devices, etc.)  as possible and see whether
    the problem persists
  - Overclocked memory or CPU's can show random anomalous behaviour. Worse some
    hardware has these problems even at "factory speed". Lowering the clockspeed
    would be the solution to this problems
  - Overheated CPU's. CPU's have several calculation units which have a specific
    location on the chip. Compilation tends to intensively use a few of those
    units. This can cause heat problems within these units even when the overall
    chip temperature is within limits. If overheating is a problem a better cpu
    cooler often works. (Underclocking also works as heat increases with
    frequency)
  - Broken chipsets. There are some chipsets on motherboards which are broken.
    sometimes the os (read linux kernel) can work around some of these bugs,
    sometimes the only solution is a new motherboard.
- Overagressive compilation flags. There are many possible combinations of
  compilation flags. Some of them are problematic with some software by design,
  others contain bugs that are triggered by certain sources. In general the
  higher the optimization the more likely it is to hit a bug. If things work
  with CFLAGS="-O2 -mcpu=<yourcpu>" then this is your problem.
  Of particular note here is that there still are bugs in gcc-3.2.2's code
  generation with -march=pentium4. (If you have a pentium4 try to compile with
  CFLAGS="-march=pentium3 -mcpu=pentium4, if things work then, report it as in
  that case we can automatically filter -march=pentium4 for the package
  involved)
- Instable kernel. There is no guaranty for stability of the many kernels gentoo
  offers. Trying to use the vanilla kernel with conservative options can show
  whether you've hit a kernel bug. Especially kernel-preemption and low latency
  can cause problems with certain combinations of options (esp. hardware
  drivers)

Compilation flags should work. If you find a certain compilation flag that
doesn't work, look it up in the gcc manual (info gcc) and read whether it is
concidered safe to use in this case. In case it is considered safe you can file
a bug with the gcc developers. 

For reporting bugs to the gcc team, look at the following website:
http://gcc.gnu.org/bugs.html
Comment 1 Paul de Vrieze (RETIRED) gentoo-dev 2003-05-07 16:23:33 UTC
obsoleted by #20600 (but I don't want this one to be linked to it)
Comment 2 Paul de Vrieze (RETIRED) gentoo-dev 2003-05-07 16:24:16 UTC
and close it