Compiler baselines

Stephan Bergmann sbergman at redhat.com
Sun Nov 25 22:35:05 UTC 2018


On 22/11/2018 21:37, Stephan Bergmann wrote:
> On 21/11/2018 17:42, Stephan Bergmann wrote:
>> On 13/09/2018 12:21, Stephan Bergmann wrote:
>>> * Building on CentOS 6 with DeveloperToolset (DTS) 7 (GCC 7.3.1) runs 
>>> into a linker issue with an unresolved 
>>> _ZN9__gnu_cxx32__throw_concurrence_unlock_errorEv when linking 
>>> Library_unoexceptionprotector in an --enable-dbgutil (i.e., 
>>> -D_GLIBCXX_DEBUG libstdc++ debug mode) build (see 
>>> <https://tinderbox.libreoffice.org/cgi-bin/gunzip.cgi?tree=MASTER&brief-log=1536396604.27182>). 
>>>   Smells like a bug in DTS's libstdc++_nonshared.a, but I learned 
>>> off-list that there is little hope that that would get fixed for DTS 
>>> 7. A hack-around I found to get at least 
>>> Library_unoexceptionprotector linked is to modify 
>>> devtoolset-7-gcc-c++-7.3.1-5.10.el6.x86_64's 
>>> /opt/rh/devtoolset-7/root/usr/lib/gcc/x86_64-redhat-linux/7/libstdc++.so 
>>> linker script, doubling the -lstdc++_nonshared entry on the INPUT line.
>>
>> All under control according to cloph; TDF (incl. Jenkins) Linux GCC 
>> master builds are done with DeveloperToolset 7.
> 
> So I would have assumed that the relevant Jenkins builds are already 
> done with GCC 7.  But looking at a random recent 
> gerrit_linux_gcc_release build (for master), 
> <https://ci.libreoffice.org/job/gerrit_linux_gcc_release/20275/consoleFull> 
> has "export GCC_VERSION=408".  What's missing?

* So Developer Toolset 7 has been installed on tb75-lilith, tb76-maggie, 
and tb79-poolux, and Jenkins jobs linux_gcc_release_64 
(<https://gerrit.libreoffice.org/plugins/gitiles/core/+/5b0b08e49ad344ceb043e0cdd1e45b0aea3f559c%5E!> 
"Better way of enabling Developer Toolset 7 for Jenkins' 
linux_gcc_release_64") and lo_tb_master_linux_dbg 
(<https://gerrit.libreoffice.org/plugins/gitiles/core/+/ab8454eb26f72f2d4081d90cb7e60e53e4a5590d%5E!> 
"Enabling Developer Toolset 7 for Jenkins' lo_tb_master_linux_dbg") have 
been adapted.

* This required --disable-werror for linux_gcc_release_64 (see the 
relevant part of 
<https://gerrit.libreoffice.org/plugins/gitiles/core/+/d3f2c61e3b9faf577f692ece76cd830f0f74b028%5E!> 
"Make Jenkins linux_gcc_release_64 pick up Developer Toolset 7"), and 
will likely require the same for further GCC-based Jenkins jobs that 
have not yet been updated (see below).

* This also required 
<https://gerrit.libreoffice.org/plugins/gitiles/core/+/f9ba4c2be1c1514553050fea37c48b757a68d4fd%5E!> 
"Generally set CCACHE_CPP2 for --enable-werror GCC" (which may have 
performance implications for Jenkins).

* Developer Toolset 7 has apparently not yet been installed on gandalf 
and vm139, which are used for Jenkins jobs lo_callgrind_linux, 
lo_daily_update_gandalf, lo_tb_ui_testing_gandalf, 
lo_tb_random_config_linux, and lo_tb_master_linux.  Once these have been 
updated (Cloph, can you do that please?), 
<https://gerrit.libreoffice.org/#/c/63991/> "Enabling Developer Toolset 
7 for Jenkins' remaining GCC master jobs" and 
<https://gerrit.libreoffice.org/#/c/64008/> "Revert 'Revert 'Enabling 
Developer Toolset 7 for Jenkins' lo_callgrind_linux''", respectively, 
can be submitted.

* Jenkins job internal_lcov_master tied to tb31 will need updating, too. 
  Whoever feels responsible for that job, can you do that please?


More information about the LibreOffice mailing list