Thu Mar 11 09:16:50 CET 2004
Paul Aviles writes:
> I am trying to compile erlang on a Sun Cobalt box (linux) and I am getting
> this while running make.. any ideas?
> gcc: Internal compiler error: program cc1 got fatal signal 4
This isn't an Erlang problem, it's a GCC or hardware problem.
Signal 4 is "illegal instruction", i.e. the CPU tried to execute an
opcode which isn't allowed.
That typically happens when you have hardware problems. Try compiling
some other large piece of software (e.g. gcc itself) and see if you
see similar problems.
- Try a more recent version of gcc (you didn't say which you were using)
- Compile on another machine
- Download a precompiled release
- Make sure the cobalt box isn't running hot (is the fan broken? is
it clogged with dust? is something else blowing hot air on it?)
30) What does the message "Internal compiler error: cc1 got fatal signal 11,4" mean ?
Ans: Gcc is probably the biggest memory hog you likely to run on your
machine and it will surely eat up a lot of your RAM. Usually a fatal
signal 11 will mean some sort of parity errors in your RAM or other
hardware faults. I had this once when `cc1' got corrupted due to a
race condition and bad blocks on my hard disk. There have also been
reports that overheating chips, (not french fries), can also produce
such errors. And watch for poor IDE controller/drive combos that
are being run faster than the standard 8MHz AT bus clock. These
can give the same errors by causing corruption of the swap space.
Usually, a signal 11 (segmentation violation) means that a process
tried to access memory out of its process space, or tried to write
into a read-only location. Sometimes, this signal is caused by
software bugs, not by hardware faults (or your system would hang
repeatedly, because the same thing happened to the kernel). With
gcc 2.3.3, some people could reproduce a lot of "signal 11"'s.
A "fatal signal 4" has been reported to be generated due to lack of
memory (happened on a 4MB system).
Also it can mean a failure in one of the `ld' or `as' stages. Try
recompiling whatever with a -v flag to gcc and see if it is failing
in one of the cc1, cpp, as or ld stages possibly.
More information about the erlang-questions