[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

GCC 6 defaults change, including icu 57 and boost 1.61 transitions



I'd like to make the GCC 6 defaults change later this week(end), including icu
57 and boost 1.61 transitions.

While the bug number of the GCC 6 related issues is still high, I'm proposing to
fix these on the fly (as suggested/discussed with Nils), because many of the
symbols related build failures are better to fix once GCC 6 is the new default
(and a number of packages not yet building using GCC 6 are already removed from
testing).

icu 57 should be included in this transition, because it's a dependency of
boost; it's already tracked in a separate issue #819530.

GCC 6 has a fix for a libstdc++ ABI symbol mangling issue which is present in
GCC 5 [1], and which is triggered by boost code. The good thing is that boost
always changes it's soname with a new release, so we have a clean transition
(#833377).  I'm not yet aware of other libraries affected by this issue, all
other changes to symbols seem to be the usual dropped/added template related
symbols.  If we find other libraries affected by this issue, we'll have to do
the usual library renaming dance (or using a new upstream with a different
soname).  The issue shows as a link error, looking for a cxx11 symbol which is
not found in a library built by GCC 5.

So the idea is to upload to unstable:

 - gcc-defaults pointing to GCC 6
 - icu 57 (as already in experimental). doesn't matter if it is
   built using GCC 5 or GCC 6
 - upload boost1.61 to unstable b-d on icu 57 and GCC 6
 - upload boost-defaults to unstable
 - make sure the new gcc-defaults is available on the buildds
 - start the binNMUs for icu and boost.
 - finish fixing GCC 6 releated ftbfs
 - remove boost1.58 and boost1.60
 - remove GCC 5

Matthias

[1] https://gcc.gnu.org/ml/gcc-patches/2016-04/msg00314.html


Reply to: