• Stephan Bergmann's avatar
    Make Jenkins linux_gcc_release_64 pick up Developer Toolset 7 · d3f2c61e
    Stephan Bergmann yazdı
    ...as discussed at
    <https://lists.freedesktop.org/archives/libreoffice/2018-November/081423.html>
    "Re: Compiler baselines".
    
    It doesn't look exactly right to enable the Developer Toolset from autogen.sh.
    But the alternative would be to "hide" that in
    <https://ci.libreoffice.org/job/gerrit_linux_gcc_release/configure>, which would
    probably not be helpful when developers try to track down why a certain Jenkins
    build behaves the way it does.  So pragmatically stick it in autogen.sh.  (Also,
    it puts Developer Toolset on the PATH whenever it is found on a system using
    LODE_HOME, not just for the specific Config=linux_gcc_release_64 case.  Lets see
    how that works out in practice.)
    
    However, it turns out that the Developer Toolset 7's GCC 7.3.1 with
    --enable-werror (that is implicitly enabled for LODE-driven builds in
    configure.ac) and (implicit) --enable-optimized produces many false warnings
    (i.e., errors), see below for a sample.  (Actually, my experience is that
    contemporary GCC hardly ever work with -Werror in optimized builds, due to
    analysis being done on already optimized code; it surprised me to find out that
    the Jnekins linux_gcc_release_64 builds were apparently successfully done with
    --enable-werror with GCC 4.8.5.)  So explicitly --disable-werror for these
    builds.  (Which means that <https://gerrit.libreoffice.org/plugins/gitiles/lode/
    +/b82e0a9d26ef4c81046c053ff831dccfc84c56be%5E!> "For linux_gcc_release_64, don't
    let ccache strip comments" could probably be reverted again if it has negative
    impact on Jenkins' performance.)
    
    Some of the false warnings encountered:
    
    > [CXX] jvmfwk/plugins/sunmajor/pluginlib/sunjavaplugin.cxx
    > In file included from /opt/rh/devtoolset-7/root/usr/include/c++/7/vector:69:0,
    >                  from /home/tdf/sberg/core/jvmfwk/plugins/sunmajor/pluginlib/sunjavaplugin.cxx:39:
    > /opt/rh/devtoolset-7/root/usr/include/c++/7/bits/vector.tcc: In function ‘javaPluginError jfw_plugin_startJavaVirtualMachine(const JavaInfo*, const JavaVMOption*, sal_Int32, JavaVM**, JNIEnv**)’:
    > /opt/rh/devtoolset-7/root/usr/include/c++/7/bits/vector.tcc:407:15: error: variable ‘__new_finish’ might be clobbered by ‘longjmp’ or ‘vfork’ [-Werror=clobbered]
    >        pointer __new_finish(__new_start);
    >                ^~~~~~~~~~~~
    > cc1plus: all warnings being treated as errors
    
    > [CXX] libreofficekit/qa/gtktiledviewer/gtv-calc-header-bar.cxx
    > /home/tdf/sberg/core/libreofficekit/qa/gtktiledviewer/gtv-calc-header-bar.cxx: In function ‘gboolean gtv_calc_header_bar_draw(GtkWidget*, cairo_t*)’:
    > /home/tdf/sberg/core/libreofficekit/qa/gtktiledviewer/gtv-calc-header-bar.cxx:89:117: error: ‘aRectangle._cairo_rectangle_int::height’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
    >      cairo_move_to(pCairo, rRectangle.x + rRectangle.width / 2 - extents.width / 2, rRectangle.y + rRectangle.height / 2 + extents.height / 2);
    >                                                                                                    ~~~~~~~~~~~~~~~~~~^~~
    > /home/tdf/sberg/core/libreofficekit/qa/gtktiledviewer/gtv-calc-header-bar.cxx:102:22: note: ‘aRectangle._cairo_rectangle_int::height’ was declared here
    >          GdkRectangle aRectangle;
    >                       ^~~~~~~~~~
    > /home/tdf/sberg/core/libreofficekit/qa/gtktiledviewer/gtv-calc-header-bar.cxx:89:59: error: ‘aRectangle._cairo_rectangle_int::width’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
    >      cairo_move_to(pCairo, rRectangle.x + rRectangle.width / 2 - extents.width / 2, rRectangle.y + rRectangle.height / 2 + extents.height / 2);
    >                                           ~~~~~~~~~~~~~~~~~^~~
    > /home/tdf/sberg/core/libreofficekit/qa/gtktiledviewer/gtv-calc-header-bar.cxx:102:22: note: ‘aRectangle._cairo_rectangle_int::width’ was declared here
    >          GdkRectangle aRectangle;
    >                       ^~~~~~~~~~
    > /home/tdf/sberg/core/libreofficekit/qa/gtktiledviewer/gtv-calc-header-bar.cxx:89:97: error: ‘aRectangle._cairo_rectangle_int::y’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
    >      cairo_move_to(pCairo, rRectangle.x + rRectangle.width / 2 - extents.width / 2, rRectangle.y + rRectangle.height / 2 + extents.height / 2);
    >                                                                                     ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
    > /home/tdf/sberg/core/libreofficekit/qa/gtktiledviewer/gtv-calc-header-bar.cxx:102:22: note: ‘aRectangle._cairo_rectangle_int::y’ was declared here
    >          GdkRectangle aRectangle;
    >                       ^~~~~~~~~~
    > /home/tdf/sberg/core/libreofficekit/qa/gtktiledviewer/gtv-calc-header-bar.cxx:89:40: error: ‘aRectangle._cairo_rectangle_int::x’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
    >      cairo_move_to(pCairo, rRectangle.x + rRectangle.width / 2 - extents.width / 2, rRectangle.y + rRectangle.height / 2 + extents.height / 2);
    >                            ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
    > /home/tdf/sberg/core/libreofficekit/qa/gtktiledviewer/gtv-calc-header-bar.cxx:102:22: note: ‘aRectangle._cairo_rectangle_int::x’ was declared here
    >          GdkRectangle aRectangle;
    >                       ^~~~~~~~~~
    > cc1plus: all warnings being treated as errors
    
    > [CXX] svl/source/misc/lockfilecommon.cxx
    > /home/tdf/sberg/core/svl/source/misc/lockfilecommon.cxx: In static member function ‘static rtl::OUString svt::LockFileCommon::GetCurrentLocalTime()’:
    > /home/tdf/sberg/core/svl/source/misc/lockfilecommon.cxx:190:10: error: ‘%02d’ directive writing between 2 and 5 bytes into a region of size between 1 and 9 [-Werror=format-overflow=]
    >  OUString LockFileCommon::GetCurrentLocalTime()
    >           ^~~~~~~~~~~~~~
    > /home/tdf/sberg/core/svl/source/misc/lockfilecommon.cxx:190:10: note: directive argument in the range [0, 65535]
    > /home/tdf/sberg/core/svl/source/misc/lockfilecommon.cxx:190:10: note: directive argument in the range [0, 65535]
    > /home/tdf/sberg/core/svl/source/misc/lockfilecommon.cxx:204:24: note: ‘sprintf’ output between 17 and 31 bytes into a destination of size 20
    >                  sprintf( pDateTime, "%02d.%02d.%4d %02d:%02d", aDateTime.Day, aDateTime.Month, aDateTime.Year, aDateTime.Hours, aDateTime.Minutes );
    >                  ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    > cc1plus: all warnings being treated as errors
    
    Change-Id: I3a851b7591274a8cf8b4729ae036afeb8e82eedc
    Reviewed-on: https://gerrit.libreoffice.org/63884
    Tested-by: Jenkins
    Reviewed-by: 's avatarStephan Bergmann <sbergman@redhat.com>
    d3f2c61e
Adı
Son kayıt (commit)
Son güncelleme
..
Jenkins Loading commit data...
LibreOfficeAndroid.conf Loading commit data...
LibreOfficeAndroidAarch64.conf Loading commit data...
LibreOfficeAndroidX86.conf Loading commit data...
LibreOfficeCoverity.conf Loading commit data...
LibreOfficeFlatpak.conf Loading commit data...
LibreOfficeHaiku.conf Loading commit data...
LibreOfficeLinux.conf Loading commit data...
LibreOfficeMacOSX.conf Loading commit data...
LibreOfficeOpenBSD.conf Loading commit data...
LibreOfficeOssFuzz.conf Loading commit data...
LibreOfficeVanillaMacAppStore.conf Loading commit data...
LibreOfficeWin32.conf Loading commit data...
LibreOfficeWin64.conf Loading commit data...
LibreOfficeiOS.conf Loading commit data...
README Loading commit data...