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
- 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
- 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
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:
obsoleted by #20600 (but I don't want this one to be linked to it)
and close it