28 hours to build 5.4.0 on Raspberry Pi 2 Model B

Toebs Douglass toby@winterflaw.net
Mon Apr 17 18:32:00 GMT 2017


It may be of minor interest to the list to know that building GCC 5.4.0
for C only on a Raspberry Pi 2 Model B takes 1679 minutes, which is very
nearly exactly 28 hours.  (Make I think has to be with -j 1 or you will
come to a point where you run out of memory and get a kernel panic (or
you could set up some swap.)

As an aside, my laptop, a four logical core i7 I think it is, with -j 8,
builds in 54 minutes.

This is actually my first successful build on arm, although I've not
been able to run make check yet, so I'm not actually sure yet.  It built
fully and installed at any rate.

5.4.0 also built and installed on MIPS32, where I'm currently running
make test.  (However, the dev board froze up and had to be rebooted, so
I don't have a timing for this build.  It's not my first successful
build for MIPS32, as I managed to make 4.5.4 a few days ago.)

There is as I have discovered a well-known spurious test failure (the
"t-scan" test) in version 4.3.0 of GMP, which is the recommended version
and the version obtained by download_prerequisites since version 4.6.0
of GCC, and has been in use since version 4.5.0 of GCC.

As I understand it, this causes make check to fail, always, starting
with GCC version 4.5.0 and up to and include 6.2.0.  I suspect, but I've
not had a chance yet to confirm this, that the failure causes the test
sequence to abort at that point, which would mean running later tests
will probably require fixing the Makefile or configure.  This is awkward
for automation of builds.

Also MPFR version 2.4.2, similarly recommended and downloaded, is broken
on MIPS32, and so I think GCC 4.5.0 and later do not compile on that
platform, not as is.  A patch has to be applied.

I had the impression from what I had found on dem nets that there was
possibly going to be some movement on the recommended versions, but it
does not seem to have materialized?




More information about the Gcc-help mailing list