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

From: [email-masked] (Ludovic Courtès)
Date: Tue, 18 Jul 2017 14:34:39 +0200

Maxim Cournoyer <[email-masked]> skribis:

> [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.

OK.

>> 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:

OK, weird.

> 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]

There are conflicting GTK+ versions being pulled here, hence the error.
If you think this case should be handled gracefully, please send a
message to bug-guix or guix-devel.

> 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.

Super weird!

Case closed?

Thanks,
Ludo’.