Subject: bug#27733: GCC compiler error when building LibreOffice 5.3.2.2

From: Maxim Cournoyer <[email-masked]>
Date: Tue, 18 Jul 2017 04:51:48 -0700

Hi Ludovic!

[email-masked] (Ludovic Courtès) writes:

> Hi Maxim,
>
> Maxim Cournoyer <[email-masked]> skribis:
>
>> /tmp/guix-build-libreoffice-5.3.2.2.drv-0/libreoffice-5.3.2.2/sw/inc/docary.hxx:362:60:   required from here
>> /gnu/store/4iw4r2majarqlm19adaikqw126jxqf2p-gcc-5.4.0/include/c++/bits/stl_algobase.h:607:5:
>> internal compiler error: S
>>      }
>>      ^
>> Please submit a full bug report,
>> with preprocessed source if appropriate.
>> See <http://gcc.gnu.org/bugs.html> for instructions.
>> make[1]: ***
>> [/tmp/guix-build-libreoffice-5.3.2.2.drv-0/libreoffice-5.3.2.2/solenv/gbuild/LinkTarget.mk:191:
>> /tmp/guix-
>> make: *** [Makefile:265: build] Error 2
>> phase `build' failed after 35006.0 seconds
>> builder for `/gnu/store/mrq8p9v19fvl86igbhfkah0saj5n0awn-libreoffice-5.3.2.2.drv' failed with exit code 1
>> guix package: error: build failed: build of
>> `/gnu/store/mrq8p9v19fvl86igbhfkah0saj5n0awn-libreoffice-5.3.2.2.drv'
>> faile
>>
>> The reason I'm limiting the number of build processes and cores used to
>> 1 (with the -c and -M flags of `guix build`) is because one dependency
>> of LibreOffice, vigra, was taking up to 2 GiB of memory per process when
>> compiling and causing my 4 GiB system to trash.
>
> Are you suggesting that the build error above can also be an
> out-of-memory issue?  Did “dmesg” show anything mentioning OOM?

That would have been plausible, but at the time it crashed I had
verified /var/log/messages and didn't see OOM problems, although there
was messages such as:

Jul 16 17:55:29 localhost vmunix: [ 1222.229040] perf: interrupt took too long (6239 > 6227), lowering kernel.perf_event_max_sample_rate to 32000
Jul 16 18:00:16 localhost vmunix: [ 1509.558118] perf: interrupt took
too long (7800 > 7798), lowering kernel.perf_event_max_sample_rate to
25500

which I attributed to the high system load.

> These C++ code bases (WebKit, LibreOffice, etc.) usually require a lot
> of RAM to build, so it could be that your machine simply doesn’t have
> enough RAM.

Further removing the possibility that it was an out-of-memory issue is
that last night I could successfully build libreoffice after I took out
the -c 1 and -M 1 flags. This should have made the memory requirements
even higher but it made it through the compilation, and only failed to
install due to unrelated issues in my profile:

--8<---------------cut here---------------start------------->8---
starting phase `reset-gzip-timestamps'
phase `reset-gzip-timestamps' succeeded after 0.4 seconds
starting phase `compress-documentation'
phase `compress-documentation' succeeded after 0.0 seconds
The following package will be installed:
   libreoffice  5.3.2.2 /gnu/store/qkwdx123vqrwglkrqzqhk1nxknxzjf7w-libreoffice-5.3.2.2

guix package: error: profile contains conflicting entries for gtk+:out
guix package: error:   first entry: [email-masked]:out /gnu/store/cakcwzawnhp9iyn5c0jcyh4lnlh5ayym-gtk+-2.24.31
guix package: error:    ... propagated from [email-masked]
guix package: error:   second entry: [email-masked]:out /gnu/store/4jgdaix3hlar9wh2jfpf99yblmzpawfr-gtk+-3.22.15
guix package: error:    ... propagated from [email-masked]
--8<---------------cut here---------------end--------------->8---

So it's possible that the problem is only exhibited when building
Libreoffice with a single core although that seems unlikely. I will
retry the build with the -c 1 and -M 1 flags and see if I can reproduce
the problem.

Thanks!

Maxim