On 02/22/2016 04:55 AM, Marek Polacek wrote:
>In the past few days and weeks we did a mass rebuild of Fedora rawhide packages
>in mock with GCC 6 (and corresponding libtool) and for those packages that
>failed also rebuilt the same package with gcc-5.3.1-2.fc23.x86_64 to quickly
>remove from the list packages that fail for non-GCC related reasons.
>There were 17741 packages overall (last year we had 16230 packages). 16281
>packages built fine, 883 packages failed to build with both gcc-6 and gcc-5
>(ignored for this analysis, unlikely to be GCC 6 related). This left us with
>577 packages that had to be analyzed. That is a lot -- last year we only had
>to examine 236 packages. So that's why it's taken so long.
>As usually, there will be a "porting to" document to ease the transition to
>the new GCC. We already have https://gcc.gnu.org/gcc-6/porting_to.html
>though this document is still somewhat in flux.
>The biggest change hands-down this year is the change of the default standard
>for g++ from -std=gnu++98 to -std=gnu++14; this has caused considerable churn,
>as you might have noticed on this mailing list. Unfortunately, many packages
>weren't prepared to handle C++11. Changes in libstdc++ often revealed very
>poor programming practices.
>Before I describe the results in more detail, I'd like to thank Jon Wakely and
>Jakub Jelinek for their indispensable help.
>Any mistakes, omissions, or mis-categorizations are solely mine.
>The following is a list of bugs we've found so far in the compiler and the
>C++ library during the mass rebuild:
> C++ language linkage issue in cmath and cstdlib
> fixed upstream and in gcc-6 (not sure which exact release)
I'm still seeing build failures in 3Depict with gcc 6.0.0-0.12.fc24
that seem quite similar (though not exactly the same) to the original
In file included from /usr/include/c++/6.0.0/tr1/random:46:0,
/usr/include/c++/6.0.0/tr1/cmath: In function 'float
/usr/include/c++/6.0.0/tr1/cmath:424:18: error: 'float
std::tr1::acosh(float)' conflicts with a previous declaration
In file included from /usr/include/c++/6.0.0/math.h:36:0,
/usr/include/c++/6.0.0/cmath:1224:3: note: previous declaration
'constexpr float std::acosh(float)'