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, even 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.
GCC bugs ~~~~~~~~ The following is a list of bugs we've found so far in the compiler and the C++ library during the mass rebuild:
BEDTools-2.25.0-1.fc24.src.rpm frepple-3.0-1.fc24.src.rpm wrong parsing of template argument list http://gcc.gnu.org/PR10200 fixed upstream and in gcc-6.0.0-0.11.fc24, will need more substantial changes in GCC 7
Macaulay2-1.6-22.fc24.src.rpm bogus errors with static data member template http://gcc.gnu.org/PR69098 fixed upstream and in gcc-6.0.0-0.11.fc24
json-0-6.20151110git3948630.fc24.src.rpm qt5-qtwebengine-5.6.0-0.15.beta.fc24.src.rpm internal compiler error: in assign_temp, at function.c:961 http://gcc.gnu.org/PR69241 fixed upstream and in gcc-6.0.0-0.10.fc24
389-admin-1.1.42-1.fc24.2.src.rpm 389-ds-base-1.3.4.6-1.fc24.src.rpm 3Depict-0.0.18-3.fc24.src.rpm 7kaa-2.14.5-10.fc24.src.rpm adanaxisgpl-1.2.5-21.fc23.src.rpm advancecomp-1.20-1.fc24.src.rpm aldo-0.7.6-13.fc23.src.rpm asc-2.6.1.0-1.fc24.src.rpm ascend-0.9.10-5.20151003svn3100.fc24.src.rpm bbkeys-0.9.0-24.fc23.src.rpm bochs-2.6.2-9.fc23.src.rpm calamares-1.1.4.2-2.fc24.src.rpm clpeak-0.1-9.20150215git9a39c0c.fc23.src.rpm compat-guichan05-0.5.0-19.fc23.src.rpm crack-attack-1.1.14-31.fc23.src.rpm cutter-1.2.5-1.fc24.src.rpm dar-2.5.2-1.fc24.src.rpm darktable-2.0.0-1.fc24.src.rpm dcm2niix-0.0.0-0.1.gitebc72ae.fc24.src.rpm djview4-4.10.5-1.fc24.src.rpm dnssec-check-2.1-4.fc23.src.rpm drgeo-1.1.0-30.fc23.src.rpm eigen3-3.2.7-3.fc24.src.rpm erlang-basho_metrics-1.0.0-15.fc23.src.rpm erlang-ebloom-2.0.0-2.fc23.src.rpm erlang-emmap-0-0.12.git05ae1bb.fc23.src.rpm evas-generic-loaders-1.16.0-2.fc24.src.rpm flare-engine-0.19-5.fc23.src.rpm FlightGear-3.7.0-2.gitf4fa687.fc24.src.rpm freeglut-3.0.0-2.fc23.src.rpm galera-25.3.12-2.fc24.src.rpm getdata-0.9.0-1.fc24.src.rpm gl-117-1.3.2-19.fc23.src.rpm gnome-system-monitor-3.19.4-1.fc24.src.rpm gogoc-1.2-47.fc24.src.rpm gperftools-2.4-5.fc23.src.rpm greenisland-0.7.1-1.fc24.src.rpm gtkwave-3.3.68-1.fc24.src.rpm hawaii-workspace-0.5.0-2.fc24.src.rpm ht-2.0.22-4.fc24.src.rpm igraph-0.7.1-1.fc24.src.rpm inkscape-0.91-17.fc24.src.rpm jack-audio-connection-kit-1.9.10-3.fc23.src.rpm kcm-fcitx-0.5.2-1.fc24.src.rpm kdelibs-4.14.16-1.fc24.src.rpm kopete-15.12.1-1.fc24.src.rpm krfb-15.12.1-1.fc24.src.rpm kwin-5.5.3-2.fc24.src.rpm latte-integrale-1.7.3-6.fc24.src.rpm lftp-4.6.5-1.fc24.src.rpm libdigidocpp-3.11.1.1306-1.fc24.src.rpm libkexif-0.2.5-16.fc23.src.rpm libkolabxml-1.0.3-5.fc24.src.rpm libmpcdec-1.2.6-15.fc23.src.rpm libsbml-5.12.0-4.fc24.src.rpm libsedml-0.3.1-10.fc24.src.rpm lilypond-2.19.35-1.fc24.src.rpm manedit-1.2.1-13.fc23.src.rpm mariadb-galera-10.0.17-5.fc23.src.rpm mathgl-2.3.3-7.fc24.src.rpm methane-1.5.1-14.fc23.src.rpm mp-1.3.0-8.fc24.src.rpm nazghul-0.7.1-14.20120228gitb0a402a.fc23.src.rpm newsbeuter-2.9-1.fc24.src.rpm odb-2.4.0-8.fc24.src.rpm openav-luppp-1.0.1-2.fc23.src.rpm OpenEXR-2.2.0-4.fc23.src.rpm owncloud-client-2.1.0-1.fc24.src.rpm oyranos-0.9.5-14.fc24.src.rpm pan-0.140-0.1.20160114git.fc24.src.rpm pcp-3.10.9-1.fc24.src.rpm pekwm-0.1.17-6.fc23.src.rpm perl-Algorithm-SVM-0.13-12.fc23.src.rpm perl-Boost-Geometry-Utils-0.15-10.fc23.src.rpm perl-Encode-Detect-1.01-19.fc23.src.rpm perl-Image-SubImageFind-0.03-7.fc23.src.rpm perl-Perlbal-XS-HTTPHeaders-0.20-18.fc23.src.rpm perl-Search-Xapian-1.2.22.0-1.fc24.src.rpm perl-SGML-Parser-OpenSP-0.994-22.fc23.src.rpm perl-Text-Hunspell-2.14-1.fc24.src.rpm perl-Ver-Perl-3.416-1.fc24.src.rpm.log pfstools-2.0.4-1.fc24.src.rpm php-pecl-xmldiff-0.9.2-11.fc23.src.rpm piglit-1.0.20151124-1.git72e5518.fc24.src.rpm pki-core-10.2.6-13.fc24.src.rpm pymol-1.8-2.20151208svn4142.fc24.src.rpm pysubnettree-0.24-2.fc23.src.rpm qepcad-B-1.69-11.fc24.src.rpm qgis-2.12.2-1.fc24.src.rpm qmmp-1.0.5-1.fc24.src.rpm qt5-qtbase-5.6.0-0.20.beta.fc24.src.rpm rakarrack-0.6.2-0.8.20140723git7dba0c4.fc23.src.rpm rkward-0.6.3-6.fc24.src.rpm R-ROC-1.38.0-6.fc23.src.rpm rubygem-charlock_holmes-0.7.3-9.fc24.src.rpm rubygem-eventmachine-1.0.8-1.fc24.src.rpm rubygem-qpid_messaging-0.34.1-2.fc24.src.rpm ruby-korundum-4.14.3-7.fc24.src.rpm ruby-qt-4.14.3-4.fc24.src.rpm sar2-2.3.0-10.fc23.src.rpm scalasca-2.2.2-4.fc24.src.rpm scilab-6.0.0-0.1.alpha2.fc24.src.rpm seaview-4.5.4.4-2.fc23.src.rpm signon-8.58-0.1.9fcfc9e.fc24.src.rpm Singular-3.1.6-20.fc24.src.rpm smesh-6.5.3.1-9.fc24.src.rpm spring-100.0-2.fc24.src.rpm stormbaancoureur-2.1.6-9.fc23.src.rpm stp-2.1.0-1.20150904git.5405af4.fc24.src.rpm suitesparse-4.4.6-4.fc24.src.rpm thunderbird-38.5.0-1.fc24.src.rpm torcs-1.3.6-1.fc24.src.rpm trackballs-1.1.4-25.fc23.src.rpm unuran-1.8.0-9.fc23.src.rpm wayland-1.9.91-1.fc24.src.rpm wso2-wsf-cpp-2.1.0-22.fc23.src.rpm xdelta-3.0.11-2.fc24.src.rpm xmoto-0.5.11-8.fc24.src.rpm yap-6.2.2-16.fc24.src.rpm C++ language linkage issue in cmath and cstdlib http://gcc.gnu.org/PR69386 fixed upstream and in gcc-6 (not sure which exact release)
julia-0.4.2-2.fc24.src.rpm flexible array member in an otherwise empty struct http://gcc.gnu.org/PR69550 not fixed yet
soci-3.2.3-5.fc24.src.rpm std::strtoll etc. no longer defined in c++98 mode http://gcc.gnu.org/PR69626 fixed upstream and in gcc-6.0.0-0.10.fc24
sagemath-6.8-2.fc24.src.rpm bogus "overflow in constant expression" error http://gcc.gnu.org/PR69631 fixed upstream and in gcc-6.0.0-0.11.fc24
amanith-0.3-32.fc24.src.rpm filezilla-3.14.1-2.fc24.src.rpm bogus "C99 designator outside aggregate initializer" error http://gcc.gnu.org/PR69658 fixed upstream and in gcc-6.0.0-0.10.fc24 OpenImageIO-1.6.9-2.fc24.src.rpm -Wplacement-new on allocated one element array members http://gcc.gnu.org/PR69662 fixed upstream and in gcc-6.0.0-0.11.fc24
mozjs17-17.0.0-14.fc24.src.rpm mozjs24-24.2.0-8.fc24.src.rpm mozjs31-31.2.0-5.fc24.src.rpm permlib-0.2.8-14.fc24.src.rpm pstoedit-3.70-4.fc24.src.rpm bogus "is not an integral constant-expression" error http://gcc.gnu.org/PR69688 fixed upstream and in gcc-6.0.0-0.11.fc24
asl-1.42-0.25.bld97.fc23.src.rpm wrong-code due to a bug in RA subreg handling http://gcc.gnu.org/PR69691 fixed upstream and in gcc-6.0.0-0.10.fc24
libmediainfo-0.7.81-1.fc24.src.rpm rejects-valid with default arguments and parenthesized expression http://gcc.gnu.org/PR69736 not fixed yet, but minor
ktorrent-4.3.1-22.fc24.src.rpm clash with macros from sys/sysmacros.h http://gcc.gnu.org/PR69767 not fixed yet; hard to fix
unar-1.8.1-10.fc24.src.rpm error: unknown type name in ObjC http://gcc.gnu.org/PR69844 not fixed yet, but patch already available https://gcc.gnu.org/ml/gcc-patches/2016-02/msg01285.html
mesos-0.23.0-0.4ce5475.fc24.1.src.rpm opencv-2.4.12.3-1.fc24.src.rpm internal compiler error: in assign_temp, at function.c:961 http://gcc.gnu.org/PR69851 not fixed yet, but patch already available in the PR Failures due to new/improved warnings and -Werror ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ceres-solver-1.11.0-3.fc24.src.rpm sflphone-1.4.1-16.fc24.src.rpm -Waddress - the compiler can assume that the address of 'arg' will never be NULL
grilo-plugins-0.3.0-1.fc24.src.rpm libeasyfc-0.13.0-6.fc23.src.rpm -Wformat warnings occur more often since http://gcc.gnu.org/r231406
tboot-1.8.2-3.fc23.src.rpm -Wlogical-op
glibc-2.22.90-29.fc24.src.rpm -Wmaybe-uninitialized I think this is already fixed
cdrkit-1.1.11-29.fc23.src.rpm collectd-5.5.0-11.fc24.src.rpm coreboot-utils-4.2-1.fc24.src.rpm crash-7.1.4-1.fc24.src.rpm crypto-utils-2.4.1-59.fc23.src.rpm dee-1.2.7-6.fc24.src.rpm edk2-20151127svn18975-1.fc24.src.rpm gdb-7.10.50.20160106-44.fc24.src.rpm insight-7.8.50-7.20140827git.fc24.src.rpm libisds-0.10.2-1.fc24.src.rpm libqmi-1.12.6-1.fc24.src.rpm logrotate-3.9.2-1.fc24.src.rpm ModemManager-1.4.10-2.fc24.src.rpm mosh-1.2.5-1.fc24.src.rpm netresolve-0.0.1-0.11.20151111git.fc24.src.rpm NetworkManager-1.2.0-0.5.beta1.fc24.src.rpm nss-3.21.0-6.fc24.src.rpm nss-softokn-3.21.0-5.fc24.src.rpm rapidjson-0.12-0.3.git20140801.67143c2.fc23.src.rpm systemtap-3.0-0.20160118gite13e9b0.fc24.src.rpm vboot-utils-20130222gite6cf2c2-8.fc23.src.rpm xen-4.6.0-9.fc24.src.rpm xrootd-4.2.3-3.fc24.src.rpm a new -Wmisleading-indentation warning; see porting_to.html for more details
bind-dyndb-ldap-8.0-4.fc24.src.rpm libfaketime-0.9.6-2.fc23.src.rpm vte291-0.42.1-1.fc24.src.rpm -Wnonnull warns more now see also http://gcc.gnu.org/PR69835, http://gcc.gnu.org/PR69850 and http://gcc.gnu.org/PR17308
pulseview-0.2.0-8.fc24.src.rpm new -Wshift-negative-value warning
open-vm-tools-10.0.0-8.fc24.src.rpm new -Wshift-overflow warning
dpdk-2.2.0-1.fc24.src.rpm openfortivpn-1.1.3-1.fc24.src.rpm rudiments-0.53-4.fc24.src.rpm zeromq3-3.2.5-3.fc23.src.rpm zeromq-4.1.4-1.fc24.src.rpm -Wstrict-aliasing since http://gcc.gnu.org/PR66110 fix char/unsigned char/signed char fields in structs are no longer considered to alias everything
cstream-3.1.1-4.fc23.src.rpm libyui-3.2.1-2.fc24.src.rpm new -Wtautological-compare warning
blktap-3.0.0-4.fc24.git0.9.2.src.rpm crda-3.18_2015.10.22-1.fc24.src.rpm dahdi-tools-2.10.0-6.fc24.src.rpm gmqcc-0.3.5-8.fc23.src.rpm gstreamer1-plugins-good-1.7.1-1.fc24.src.rpm ipv6calc-0.99.1-13.fc24.src.rpm libpfm-4.6.0-3.fc23.src.rpm libreswan-3.16-1.fc24.src.rpm lldpad-1.0.1-2.git986eb2e.fc24.src.rpm loudmouth-1.5.1-1.fc24.src.rpm memkind-0.3.0-1.fc24.src.rpm nemo-2.8.6-1.fc24.src.rpm nfs-ganesha-2.3.0-2.fc24.src.rpm ocaml-libvirt-0.6.1.4-10.fc24.src.rpm pesign-0.111-7.fc24.src.rpm rstp-04012009git-14.fc23.src.rpm xneur-0.17.0-5.fc23.src.rpm -Wunused-const-variable debate whether this is a good idea is still ongoing
audiofile-0.3.6-9.fc24.src.rpm geeqie-1.2.2-1.fc24.src.rpm the compiler is more strict now what is a constant expression
Packages that don't cope well with C++14 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ bonnie++-1.96-10.fc23.src.rpm gr-rds-0-0.17.20150513git201f32b.fc24.src.rpm openttd-1.5.3-1.fc24.src.rpm qcodeedit-2.2.3-15.fc23.src.rpm these contained invalid code but are already fixed
Now, this is a list of packages that very likely contain invalid C++14 code. Some of them worked in the past, but only by luck and were just ill-fated. Please try to fix the issues rather than adding workaround flags like -fpermissive, -Wno-unused-but-set-variable etc.
Most of the issues should be described in porting_to, so I won't repeat it here. Especially, if something fails, try using -fno-delete-null-pointer-checks or -fno-lifetime-dse before opening a PR. However, it's certainly possible that a compiler bug might crept it, and the code is valid. It's not feasible for me to try to fix all these packages.
gnucap-0.35-16.fc23.src.rpm.log vdr-tvonscreen-1.0.141-35.fc23.src.rpm.log centerim-4.22.10-19.fc23.src.rpm.log vegastrike-0.5.1-25.r1.fc24.src.rpm.log octave-4.0.0-8.fc24.src.rpm.log synfig-0.64.3-8.fc24.src.rpm.log sicktoolbox-1.0.1-4.fc24.src.rpm.log milia-1.0.0-12.fc24.src.rpm.log qtgpsc-0.3.1-13.fc23.src.rpm.log gnuradio-3.7.9-1.fc24.src.rpm.log pymilia-1.0.0-8.fc24.src.rpm.log graphem-0.3.2-10.fc23.src.rpm.log mpqc-2.3.1-31.fc23.src.rpm.log steghide-0.5.1-26.fc23.src.rpm.log ucl-1.03-18.fc23.src.rpm.log lzop-1.03-13.fc24.src.rpm.log libqxt-0.6.2-9.fc23.src.rpm.log qdevelop-0.29-5.fc23.src.rpm.log gource-0.43-6.fc24.src.rpm.log zinnia-0.06-26.fc23.src.rpm.log libhttpserver-0.9.0-3.fc24.src.rpm.log vym-2.5.0-1.fc24.src.rpm.log enblend-4.1.4-2.fc24.src.rpm.log coolkey-1.1.0-28.fc23.src.rpm.log yoshimi-1.3.8.1-1.fc24.src.rpm.log krecipes-2.0-0.9.beta2.fc23.src.rpm.log scidavis-1.D9-1.fc24.src.rpm.log licq-1.8.2-11.fc24.src.rpm.log ClanLib1-1.0.0-21.fc23.src.rpm.log med-3.0.8-4.fc23.src.rpm.log libwvstreams-4.6.1-14.fc23.src.rpm.log ballbuster-1.0-21.fc23.src.rpm.log fife-0.3.3r3-17.fc24.src.rpm.log healpix-2.13a-17.fc23.src.rpm.log rcssserver3d-0.6.10-4.fc24.src.rpm.log ClanLib06-0.6.5-35.fc23.src.rpm.log qalculate-kde-0.9.7.10-4.nmu1.fc23.src.rpm.log postbooks-4.9.2-6.fc24.src.rpm.log ardour2-2.8.16-19.fc24.src.rpm.log glob2-0.9.4.4-31.fc24.src.rpm.log aqemu-0.8.2-15.fc23.src.rpm.log abrt-java-connector-1.1.0-6.fc24.src.rpm.log scim-thai-0.1.1-15.fc23.src.rpm.log superkb-0.22-8.fc23.src.rpm.log qt-4.8.7-6.fc24.src.rpm.log guacamole-server-0.9.8-3.fc24.src.rpm.log gdl-0.9.5-10.fc24.src.rpm.log loki-lib-0.1.7-13.fc23.src.rpm.log yapet-1.0-5.fc24.src.rpm.log soundmodem-0.18-5.fc24.src.rpm.log engauge-digitizer-6.2-1.fc24.src.rpm.log fawkes-0.5.0-26.fc24.src.rpm.log smokekde-4.14.3-8.fc23.src.rpm.log pythonqt-2.1-7.fc23.src.rpm.log smokeqt-4.14.3-5.fc23.src.rpm.log cegui-0.8.4-14.fc24.src.rpm.log Cython-0.23.4-1.fc24.src.rpm.log fldigi-3.23.06-1.fc24.src.rpm.log xulrunner-42.0-2.fc24.src.rpm.log icecat-38.5.2-4.fc24.src.rpm.log blender-2.76-4.fc24.src.rpm.log geos-3.5.0-1.fc24.src.rpm.log seamonkey-2.39-2.fc24.src.rpm.log firefox-43.0.4-2.fc24.src.rpm.log vdr-sudoku-0.3.5-32.fc23.src.rpm.log expatpp-0-7.20121019gitd8c1bf8.fc23.src.rpm.log nogravity-2.00-23.fc23.src.rpm.log espresso-3.3.0-8.fc24.src.rpm.log ell-0-0.5.20130617svn.fc23.src.rpm.log unittest-cpp-1.4-18.20130823gite76d25a.fc23.src.rpm.log valyriatear-1.0.0-7.fc24.src.rpm.log xbase-3.1.2-11.fc23.src.rpm.log xosview-1.17-1.fc24.src.rpm.log opal-3.10.10-9.fc23.src.rpm.log lrslib-6.1-1.fc24.src.rpm.log percolator-2.10.1-7.fc24.src.rpm.log openni-1.5.7.10-6.fc23.src.rpm.log xplanet-1.3.0-11.fc23.src.rpm.log sinfo-0.0.48-8.fc24.src.rpm.log aqsis-1.8.2-21.fc24.src.rpm.log mona-1.4r16-1.fc24.src.rpm.log libprojectM-2.0.1-27.fc24.src.rpm.log ppl-1.1-12.fc24.src.rpm.log hydrogen-0.9.5.1-12.fc23.src.rpm.log R-GeneR-2.24.0-11.fc23.src.rpm.log diet-2.9-5.fc24.src.rpm.log ColPack-1.0.9-6.fc23.src.rpm.log rcssserver-15.2.2-15.fc24.src.rpm.log strigi-0.7.8-11.fc23.src.rpm.log ibutils-1.5.7-18.fc23.src.rpm.log vdrift-20141020-3.fc24.src.rpm.log enigma-1.21-5.fc23.src.rpm.log apvlv-0.1.4-9.fc23.src.rpm.log cvc3-2.4.1-13.fc23.src.rpm.log grfcodec-6.0.5-5.fc24.src.rpm.log arprec-2.2.18-1.fc24.src.rpm.log eclib-20160101-1.fc24.src.rpm.log kpilot-5.3.0-20.fc24.src.rpm.log crrcsim-0.9.12-18.fc24.src.rpm.log IBSimu-1.0.5-11.b.fc23.src.rpm.log pion-net-5.0.7-1.fc24.src.rpm.log hokuyoaist-3.0.2-10.fc24.src.rpm.log liborigin-20080225-15.fc23.src.rpm.log metslib-0.5.3-7.fc23.src.rpm.log openscad-2015.03.2-4.fc24.src.rpm.log easystroke-0.6.0-13.fc24.src.rpm.log elektra-0.8.12-5.fc24.src.rpm.log ifstatus-1.1.0-16.fc23.src.rpm.log tvtime-1.0.8-1.fc24.src.rpm.log armacycles-ad-0.2.8.3.3-2.fc23.src.rpm.log cmyktool-0.1.6-0.10.pre1.fc23.src.rpm.log gparted-0.25.0-1.fc24.src.rpm.log glmark2-2014.03-4.fc23.src.rpm.log syncevolution-1.5.1-7.fc24.src.rpm.log player-3.0.2-49.fc24.src.rpm.log ams-2.1.1-5.fc23.src.rpm.log polymake-2.14r1-4.fc24.src.rpm.log gtkmathview-0.8.0-19.fc23.src.rpm.log openlierox-0.58-0.5.rc3.fc23.src.rpm.log gstreamer1-plugins-bad-free-1.7.1-2.fc24.src.rpm.log java-1.8.0-openjdk-1.8.0.71-1.b15.fc24.src.rpm.log mstflint-4.1.0-0.46.gb1cdaf7.1.fc24.src.rpm.log coot-0.8.2-1.fc24.src.rpm.log pdf2djvu-0.7.21-2.fc24.src.rpm.log resiprocate-1.10.0-21.fc24.src.rpm.log libQGLViewer-2.5.1-8.fc24.src.rpm.log linbox-1.3.2-26.fc24.src.rpm.log scorchwentbonkers-1.3-1.fc24.src.rpm.log kmess-2.0.6.1-13.fc23.src.rpm.log muse-2.1.2-8.fc23.src.rpm.log kdissert-1.0.7-17.fc23.src.rpm.log wxGTK3-3.0.2-12.fc24.src.rpm.log clanbomber-1.05-25.fc23.src.rpm.log aria2-1.19.0-2.fc23.src.rpm.log bionetgen-2.2.5-7.fc23.src.rpm.log cuneiform-1.1.0-20.fc23.src.rpm.log indi-sx-1.1.0-1.20150907svn2392.fc24.src.rpm.log escape-200912250-12.fc23.src.rpm.log vdr-live-0.3.0-22.20150213git6ea279a.fc24.src.rpm.log rumor-1.0.5-10.fc23.src.rpm.log umbrello-15.12.0-1.fc24.src.rpm.log tuxcmd-0.6.70-17.fc23.src.rpm.log lastfmlib-0.4.0-12.fc23.src.rpm.log ladspa-caps-plugins-0.9.10-5.fc23.src.rpm.log CriticalMass-1.5-15.fc23.src.rpm.log ginac-1.6.5-1.fc24.src.rpm.log clustal-omega-1.2.1-7.fc23.src.rpm.log chromium-bsu-0.9.15.1-6.fc23.src.rpm.log Inventor-2.1.5-57.fc24.src.rpm.log vdr-epg-daemon-0.2.2-7.20151027git4b79017.fc24.src.rpm.log qucs-0.0.18-7.fc24.src.rpm.log compat-wxGTK3-gtk2-3.0.2-7.fc24.src.rpm.log nghttp2-1.6.0-1.fc24.src.rpm.log bes-3.14.0-8.fc24.src.rpm.log flrig-1.3.23-1.fc24.src.rpm.log libdap-3.16.0-1.fc24.src.rpm.log bes-3.16.0-1.fc24.src.rpm.log photoprint-0.4.2-0.16.pre2.fc23.src.rpm.log lagan-2.0-17.fc23.src.rpm.log freehdl-0.0.8-12.fc23.src.rpm.log gfan-0.5-14.fc23.src.rpm.log povray-3.7-0.12.20131116git39ce8a2.fc24.src.rpm.log barry-0.18.4-12.fc24.src.rpm.log grass-6.4.4-11.fc24.src.rpm.log pcsc-cyberjack-3.99.5final.SP08-2.fc24.src.rpm.log snapper-0.2.8-1.fc24.src.rpm.log stage-4.1.1-13.fc23.src.rpm.log berusky2-0.10-9.fc24.src.rpm.log VirtualGL-2.4-5.fc23.src.rpm.log vdr-iptv-2.2.1-3.fc24.src.rpm.log qutim-0.3.2-5.git.6f3a98a.fc23.src.rpm.log boinc-client-7.2.42-7.gitdd0d630.fc24.src.rpm.log vdr-vnsiserver-1.3.1-1.fc24.src.rpm.log clamav-0.99-2.fc24.src.rpm.log shairplay-0.9.0-3.20150921git498bc5b.fc24.src.rpm.log clxclient-3.6.1-13.fc23.src.rpm.log mingw-LibRaw-0.17.1-1.fc24.src.rpm.log ibus-unikey-0.6.1-9.fc23.src.rpm.log piklab-0.16.1-12.fc23.src.rpm.log drumstick0-0.5.0-15.fc23.src.rpm.log wxGTK-2.8.12-21.fc24.src.rpm.log libqinfinity-0.6-0.3.20140920.fc23.src.rpm.log vcftools-0.1.11-8.fc23.src.rpm.log agistudio-1.3.0-6.fc23.src.rpm.log joyce-2.2.6-5.fc23.src.rpm.log FlightGear-Atlas-0.5.0-0.16.cvs20141002.fc24.src.rpm.log clipper-2.1-28.20140911.fc23.src.rpm.log gmsh-2.11.0-1.fc24.src.rpm.log qt-mobility-1.2.2-0.21.20140317git169da60c.fc23.src.rpm.log qterm-0.5.12-11.fc23.src.rpm.log YafaRay-0.1.1-12.fc23.src.rpm.log tripwire-2.4.2.2-9.fc23.src.rpm.log rawstudio-2.1-0.10.20150511git75ef4c4_rawspeed_4ea46dd.fc24.src.rpm.log k3b-2.0.3-8.fc24.src.rpm.log pcmanx-gtk2-1.2-6.fc23.src.rpm.log fcitx-unikey-0.2.5-1.fc24.src.rpm.log scim-1.4.15-5.fc24.src.rpm.log ragel-6.8-5.fc23.src.rpm.log ktechlab-0.3.70-16.20090304svn.fc23.src.rpm.log dx-4.4.4-36.fc23.src.rpm.log tecnoballz-0.92-22.fc23.src.rpm.log pikdev-0.9.2-21.fc23.src.rpm.log bolzplatz2006-1.0.3-30.fc23.src.rpm.log dvgrab-3.5-13.fc23.src.rpm.log oggvideotools-0.8-20.fc24.src.rpm.log din-5.2.1-5.fc23.src.rpm.log LibRaw-0.17.1-2.fc24.src.rpm.log htdig-3.2.0-0.22.b6.fc23.src.rpm.log free42-1.4.77-1.fc24.src.rpm.log vdr-ttxtsubs-0.3.0-12.fc23.src.rpm.log re2-20131024-5.fc23.src.rpm.log slimdata-2.6.4-10.fc23.src.rpm.log gle-4.2.4c-16.fc24.src.rpm.log abiword-3.0.1-4.fc23.src.rpm.log espeak-1.48.04-6.fc23.src.rpm.log fbterm-1.7-7.fc23.src.rpm.log drumstick-1.0.1-1.fc24.src.rpm.log supertuxkart-0.9.1-3.fc24.src.rpm.log cdrdao-1.2.3-25.fc23.src.rpm.log vavoom-1.33-16.fc24.src.rpm.log teeworlds-0.6.3-4.fc23.src.rpm.log ompl-1.0.0-7.fc24.src.rpm.log taskjuggler-2.4.3-22.fc23.src.rpm.log gmock-1.7.0-2.fc23.src.rpm.log gtest-1.7.0-5.fc23.src.rpm.log cppformat-2.0.0-1.fc24.src.rpm.log OCE-0.16.1-6.fc24.1.src.rpm.log kea-1.0.0-1.fc24.src.rpm.log jsoncpp-0.10.5-2.fc24.src.rpm.log curlpp-0.7.3-25.fc24.src.rpm.log iperf-2.0.8-2.fc23.src.rpm.log vrq-1.0.116-2.fc24.src.rpm.log surf-geometry-1.0.6-14.fc24.src.rpm.log bouml-4.21-11.fc23.src.rpm.log qbittorrent-3.3.2-1.fc24.src.rpm.log ledger-3.1-9.fc24.src.rpm.log kdepim-runtime-15.12.0-1.fc24.src.rpm.log ugene-1.20.0-5.fc24.src.rpm.log uboot-tools-2016.01-3.fc24.src.rpm.log kf5-akonadi-search-15.12.0-2.fc24.src.rpm.log swift-3.0-0.3.beta2.fc24.src.rpm.log ember-0.7.2-11.fc24.src.rpm.log kf5-kmailtransport-15.12.0-3.fc24.src.rpm.log kdepim-15.12.0-1.fc24.src.rpm.log kf5-akonadi-calendar-15.12.0-2.fc24.src.rpm.log dataquay-0.9-9.fc23.src.rpm.log anyterm-1.1.29-33.fc24.src.rpm.log cal3d-0.11.0-19.fc23.src.rpm.log qbrew-0.4.1-15.fc23.src.rpm.log calf-0.0.19-8.fc23.src.rpm.log msgpack-1.3.0-1.fc24.src.rpm.log gcc-python-plugin-0.14-8.fc24.src.rpm.log fbreader-0.12.10-18.fc23.src.rpm.log krename-4.0.9-15.fc23.src.rpm.log guitone-1.0-0.12.rc5.fc24.src.rpm.log dmlite-0.7.5-1.fc24.src.rpm.log dmlite-plugins-s3-0.5.1-11.fc24.src.rpm.log cvc4-1.4-8.fc24.src.rpm.log mingw-harfbuzz-1.1.2-1.fc24.src.rpm.log beignet-1.1.1-2.fc24.src.rpm.log starplot-0.95.5-17.fc23.src.rpm.log sim-0.9.5-0.42.20091129svn3078rev.fc24.src.rpm.log xdrawchem-1.9.9-29.fc23.src.rpm.log meshlab-1.3.2-8.fc24.src.rpm.log freqtweak-0.7.2-12.fc23.src.rpm.log js-1.8.5-22.fc23.src.rpm.log Ray-2.3.1-12.fc24.src.rpm.log GREYCstoration-2.8-20.fc23.src.rpm.log xml-security-c-1.6.1-10.fc23.src.rpm.log herqq-1.0.0-10.fc23.src.rpm.log openbabel-2.3.90-0.7.20150402gita345105.fc24.src.rpm.log collada-dom-2.4.4-1.fc24.src.rpm.log condor-8.5.1-1.fc24.src.rpm.log qtoctave-0.10.1-19.fc23.src.rpm.log scim-anthy-1.2.7-15.fc23.src.rpm.log kdebase3-3.5.10-39.fc23.src.rpm.log oprofile-1.1.0-2.fc24.src.rpm.log ptlib-2.10.10-15.fc24.src.rpm.log kdelibs3-3.5.10-71.fc24.src.rpm.log airtsp-1.01.2-6.fc24.src.rpm.log libclaw-1.7.4-12.fc24.src.rpm.log device-mapper-persistent-data-0.6.0-1.fc24.src.rpm.log nvidia-texture-tools-2.0.8-11.fc23.src.rpm.log scorched3d-44-7.fc24.src.rpm.log oorexx-4.2.0-1.fc23.src.rpm.log audacity-2.1.2-0.8.rc2.fc24.src.rpm.log calligra-2.9.10-2.fc24.src.rpm.log shiboken-1.2.2-2.fc22.src.rpm.log scorep-1.4.2-3.fc24.src.rpm.log saga-2.2.2-1.fc24.src.rpm.log gnash-0.8.10-19.fc24.src.rpm.log fuse-encfs-1.7.4-22.fc24.src.rpm.log gnome-chemistry-utils-0.14.10-13.fc24.src.rpm.log firebird-2.5.5.26952.0-1.fc24.src.rpm.log perl-Qt-0.96.0-16.fc23.src.rpm.log COPASI-4.16-0.20.20150817git3bc4e9.fc24.src.rpm.log xsupplicant-2.2.0-13.fc24.src.rpm.log sympol-0.1.8-25.fc24.src.rpm.log opensaml-2.4.3-11.fc23.src.rpm.log kyotocabinet-1.2.76-9.fc23.src.rpm.log thrift-0.9.1-17.fc24.src.rpm.log kdewebdev-3.5.10-25.fc23.src.rpm.log warmux-11.04.1-18.fc23.src.rpm.log z3-4.4.1-2.fc24.src.rpm.log device-mapper-persistent-data-0.5.5-2.fc24.src.rpm.log libgtextutils-0.7-14.fc23.src.rpm.log vdr-epgsearch-1.0.1-0.13.beta5.fc23.src.rpm.log mmseq-1.0.8a-6.fc24.src.rpm.log fbdesk-1.4.1-19.fc23.src.rpm.log
Other ~~~~~ gegl-0.2.0-27.fc24.src.rpm a glibc bug https://sourceware.org/bugzilla/show_bug.cgi?id=19590
evolution-3.19.4-2.fc24.src.rpm evolution-ews-3.19.4-2.fc24.src.rpm evolution-mapi-3.19.4-1.fc24.src.rpm these packages failed to build due to error: dereferencing pointer to incomplete type but newer versions seem to be fixed
pypy-4.0.0-3.fc24.src.rpm not enough space on disk
ccache-3.2.4-1.fc24.src.rpm ccache mis-uses the preprocessor; it should be tweaked to use -fdirectives-only
paraview-5.0.0-0.4.RC3.fc24.src.rpm vtk-6.3.0-2.fc24.src.rpm these two failed because of the PSL soname bump that has been discussed on this ML; probably fixed now
NearTree-3.1.1-8.fc21.src.rpm ubsan complains a lot here; didn't investigate further
glm-0.9.7.2-1.fc24.src.rpm masscan-1.0.3-4.fc24.src.rpm ocp-0.1.22-0.7.gite62ae52.fc24.src.rpm petpvc-0.0.0-0.1.git8b28893.fc24.src.rpm vxl-1.17.0-18.fc23.src.rpm these aren't prepared for gcc version "6" (wrong configure checks and similar)
alliance-5.0-40.20090901snap.fc22.src.rpm asterisk-13.3.2-1.fc23.2.src.rpm cone-0.91.1-3.fc23.src.rpm covered-0.7.10-7.fc23.src.rpm curator-2.2.0-4.fc21.src.rpm cxf-xjc-utils-2.6.2-3.fc24.src.rpm diveintopython-5.4-27.fc21.src.rpm empathy-3.12.11-1.fc24.src.rpm glade2-2.12.2-21.fc23.src.rpm gloobus-preview-0.4.1-28.fc23.src.rpm gnome-contacts-3.18.1-2.fc24.src.rpm gnome-initial-setup-3.19.1-1.fc24.src.rpm gnome-maps-3.19.4-1.fc24.src.rpm gnome-sharp-2.24.2-10.fc23.src.rpm gnome-terminal-3.18.2-1.fc24.src.rpm gnu-smalltalk-3.2.5-9.fc23.src.rpm hive-0.12.0-5.fc22.src.rpm hmaccalc-0.9.14-2.fc23.src.rpm jboss-remote-naming-2.0.1-1.fc21.src.rpm jboss-remoting-jmx-2.0.0-1.fc21.src.rpm kde-partitionmanager-2.0.0-1.fc24.src.rpm kde-plasma-activitymanager-0.5-8.fc22.src.rpm kf5-kalarmcal-15.12.0-2.fc24.src.rpm libreoffice-5.1.0.2-3.fc24.src.rpm libreoffice-TexMaths-0.41-2.fc23.src.rpm libreoffice-voikko-4.1-3.fc23.src.rpm libvirt-1.3.1-1.fc24.src.rpm lightning-2.1.0-3.fc23.src.rpm nodejs-mapnik-3.4.13-3.fc24.src.rpm openlmi-tools-0.10.5-2.fc23.src.rpm openoffice.org-diafilter-1.7.4-2.fc24.src.rpm openstack-tempest-liberty-20151020.2.fc24.src.rpm owasp-esapi-java-2.1.0-2.fc22.src.rpm perl-OpenOffice-UNO-0.07-17.fc23.src.rpm php-pear-Console-Table-1.2.1-2.fc23.src.rpm php-pear-Validate-0.8.5-9.fc23.src.rpm pragha-1.3.3-2.fc24.src.rpm projectM-libvisual-2.0.1-10.fc21.src.rpm razorqt-0.5.2-23.fc23.src.rpm scsi-target-utils-1.0.55-3.fc23.src.rpm shim-0.8-1.fc22.src.rpm spatialite-tools-4.3.0-6.fc24.src.rpm thermostat-1.4.2-2.fc24.src.rpm -2.0.11-5.fc23.src.rpm.log xmms-scrobbler-0.4.0-17.fc23.src.rpm xorg-x11-drv-freedreno-1.4.0-1.fc24.src.rpm xorg-x11-drv-omap-0.4.4-1.fc24.src.rpm package dependency issues; probably not GCC related
feedreader-1.4.3-1.fc24.src.rpm I think this fails because of new version of 'appstream-util'; it now consideres an XML as invalid, as opposed to the version coming in F23
gnome-todo-3.18.1-2.fc24.src.rpm no idea. There's error: m4_copy: won't overwrite defined macro: glib_DEFUN and that probably isn't gcc-related
Marek
I've pretty much addressed all my packages except for cqrlog which I guess wasn't on the list since it will compile with gcc 5. Upstream has stated they will address gcc 6 issues on the next release.
My other two packages that I could find in your list, smesh & OCE, have both been addressed and built. Unfortunately with smesh the solution was to re-enable gnu++98. Upstream was surprised to find out it even built with gcc 5.
Thanks, Richard
On Mon, 2016-02-22 at 12:55 +0100, Marek Polacek wrote:
blktap-3.0.0-4.fc24.git0.9.2.src.rpm crda-3.18_2015.10.22-1.fc24.src.rpm dahdi-tools-2.10.0-6.fc24.src.rpm gmqcc-0.3.5-8.fc23.src.rpm gstreamer1-plugins-good-1.7.1-1.fc24.src.rpm ipv6calc-0.99.1-13.fc24.src.rpm libpfm-4.6.0-3.fc23.src.rpm
At least this one has already been fixed upstream: https://sourceforge.net/p/perfmon2/libpfm4/ci/85081d81b4020679a5d44790e249cf...
libreswan-3.16-1.fc24.src.rpm lldpad-1.0.1-2.git986eb2e.fc24.src.rpm loudmouth-1.5.1-1.fc24.src.rpm memkind-0.3.0-1.fc24.src.rpm nemo-2.8.6-1.fc24.src.rpm nfs-ganesha-2.3.0-2.fc24.src.rpm ocaml-libvirt-0.6.1.4-10.fc24.src.rpm pesign-0.111-7.fc24.src.rpm rstp-04012009git-14.fc23.src.rpm xneur-0.17.0-5.fc23.src.rpm -Wunused-const-variable debate whether this is a good idea is still ongoing
The discussion is in this bug: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=28901 But it could really use some concrete examples instead of handwaving about hypotheticals. There is also a slight tweak to what is/isn't considered "unused" patch under review here: https://gcc.gnu.org/ml/gcc-patches/2016-02/msg01433.html If people could test that out to see if that makes them happy/sad that would also be appreciated.
Cheers,
Mark
On Mon, Feb 22, 2016 at 4:55 AM, Marek Polacek polacek@redhat.com wrote:
Macaulay2-1.6-22.fc24.src.rpm bogus errors with static data member template http://gcc.gnu.org/PR69098 fixed upstream and in gcc-6.0.0-0.11.fc24
I don't think this has been fixed. I updated ntl over the weekend, and rebuilt Macaulay2 as part of that work. Macaulay2 still failed with this same error, using gcc-6.0.0-0.11.fc24, so I added a patch to workaround the issue, so as not to leave Macaulay2 with broken deps in Rawhide. Indeed, the gcc-6.0.0-0.11.fc24 changelog says:
- temporarily revert PR c++/10200 fix
The fix must have caused other issues, I guess. I don't see anything about that PR in the gcc-6.0.0-0.12.fc24 changelog, so I believe this issue is still outstanding.
Now, this is a list of packages that very likely contain invalid C++14 code. Some of them worked in the past, but only by luck and were just ill-fated. Please try to fix the issues rather than adding workaround flags like -fpermissive, -Wno-unused-but-set-variable etc.
Most of the issues should be described in porting_to, so I won't repeat it here. Especially, if something fails, try using -fno-delete-null-pointer-checks or -fno-lifetime-dse before opening a PR. However, it's certainly possible that a compiler bug might crept it, and the code is valid. It's not feasible for me to try to fix all these packages.
[snip]
polymake-2.14r1-4.fc24.src.rpm.log
I already added -std=gnu++98 to this package, but the build still fails. I don't understand the gcc error. GCC appears to be producing non-const temporaries, and then complaining that the temporaries are non-const. I asked for help with this about a week ago, and Jonathan Wakely said he would take a look. I have not heard back from him yet:
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/...
Any ideas on what is going on there would be much appreciated.
The maddening thing is that upstream polymake has released a new version, and the release notes say this new version brings "full C++11 compatibility". But I can't update to it, because it needs Singular 4.x and normaliz 3.x, and updating those 2 packages will break both Macaulay2 and sagemath. Sigh.
On Mon, Feb 22, 2016 at 08:35:34AM -0700, Jerry James wrote:
I don't think this has been fixed. I updated ntl over the weekend, and rebuilt Macaulay2 as part of that work. Macaulay2 still failed with this same error, using gcc-6.0.0-0.11.fc24, so I added a patch to workaround the issue, so as not to leave Macaulay2 with broken deps in Rawhide. Indeed, the gcc-6.0.0-0.11.fc24 changelog says:
- temporarily revert PR c++/10200 fix
The fix must have caused other issues, I guess. I don't see anything about that PR in the gcc-6.0.0-0.12.fc24 changelog, so I believe this issue is still outstanding.
-0.12.fc24 has the reversion removed, is in sync with what latest gcc does. So, if you have some issue with -0.12.fc24 and you are convinced it is a g++ bug rather than package bug, please file it with small self-contained reproducer.
Jakub
On 22/02/16 08:35 -0700, Jerry James wrote:
polymake-2.14r1-4.fc24.src.rpm.log
I already added -std=gnu++98 to this package, but the build still fails. I don't understand the gcc error. GCC appears to be producing non-const temporaries, and then complaining that the temporaries are non-const. I asked for help with this about a week ago, and Jonathan Wakely said he would take a look. I have not heard back from him yet:
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/...
Any ideas on what is going on there would be much appreciated.
I did look, but wasn't able to figure out the problem. My attempts to reduce it to a small example didn't produce the same failure. I'll come back to it ASAP and spend more time on it.
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, even 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.
GCC bugs
The following is a list of bugs we've found so far in the compiler and the C++ library during the mass rebuild: 3Depict-0.0.18-3.fc24.src.rpm C++ language linkage issue in cmath and cstdlib http://gcc.gnu.org/PR69386 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 PR:
In file included from /usr/include/c++/6.0.0/tr1/random:46:0, from /usr/include/c++/6.0.0/parallel/random_number.h:36, from /usr/include/c++/6.0.0/parallel/partition.h:38, from /usr/include/c++/6.0.0/parallel/quicksort.h:36, from /usr/include/c++/6.0.0/parallel/sort.h:48, from /usr/include/c++/6.0.0/parallel/algo.h:45, from /usr/include/c++/6.0.0/parallel/algorithm:37, from /usr/include/c++/6.0.0/algorithm:65, from ./common/basics.h:65, from ./backend/APT/ionhit.h:22, from ./backend/filter.h:27, from ./backend/plot.h:23, from gui/dialogs/rangeEditDialog.h:22, from gui/dialogs/rangeEditDialog.cpp:19: /usr/include/c++/6.0.0/tr1/cmath: In function 'float std::tr1::acosh(float)': /usr/include/c++/6.0.0/tr1/cmath:424:18: error: 'float std::tr1::acosh(float)' conflicts with a previous declaration acosh(float __x) ^ In file included from /usr/include/c++/6.0.0/math.h:36:0, from /usr/include/wx-3.0/wx/math.h:18, from /usr/include/wx-3.0/wx/gdicmn.h:23, from /usr/include/wx-3.0/wx/event.h:20, from /usr/include/wx-3.0/wx/wx.h:24, from gui/dialogs/rangeEditDialog.h:5, from gui/dialogs/rangeEditDialog.cpp:19: /usr/include/c++/6.0.0/cmath:1224:3: note: previous declaration 'constexpr float std::acosh(float)' acosh(float __x) ^~~~~
https://koji.fedoraproject.org/koji/taskinfo?taskID=13097401
On 22/02/16 13:37 -0700, Orion Poplawski wrote:
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, even 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.
GCC bugs
The following is a list of bugs we've found so far in the compiler and the C++ library during the mass rebuild: 3Depict-0.0.18-3.fc24.src.rpm C++ language linkage issue in cmath and cstdlib http://gcc.gnu.org/PR69386 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 PR:
In file included from /usr/include/c++/6.0.0/tr1/random:46:0, from /usr/include/c++/6.0.0/parallel/random_number.h:36, from /usr/include/c++/6.0.0/parallel/partition.h:38, from /usr/include/c++/6.0.0/parallel/quicksort.h:36, from /usr/include/c++/6.0.0/parallel/sort.h:48, from /usr/include/c++/6.0.0/parallel/algo.h:45, from /usr/include/c++/6.0.0/parallel/algorithm:37, from /usr/include/c++/6.0.0/algorithm:65, from ./common/basics.h:65, from ./backend/APT/ionhit.h:22, from ./backend/filter.h:27, from ./backend/plot.h:23, from gui/dialogs/rangeEditDialog.h:22, from gui/dialogs/rangeEditDialog.cpp:19: /usr/include/c++/6.0.0/tr1/cmath: In function 'float std::tr1::acosh(float)': /usr/include/c++/6.0.0/tr1/cmath:424:18: error: 'float std::tr1::acosh(float)' conflicts with a previous declaration acosh(float __x) ^ In file included from /usr/include/c++/6.0.0/math.h:36:0, from /usr/include/wx-3.0/wx/math.h:18, from /usr/include/wx-3.0/wx/gdicmn.h:23, from /usr/include/wx-3.0/wx/event.h:20, from /usr/include/wx-3.0/wx/wx.h:24, from gui/dialogs/rangeEditDialog.h:5, from gui/dialogs/rangeEditDialog.cpp:19: /usr/include/c++/6.0.0/cmath:1224:3: note: previous declaration 'constexpr float std::acosh(float)' acosh(float __x) ^~~~~
https://koji.fedoraproject.org/koji/taskinfo?taskID=13097401
That's a different issue:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69893
I'm fixing it in GCC today.
On Mon, 22 Feb 2016 12:55:56 +0100 Marek Polacek polacek@redhat.com 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, even 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.
I see an inconsistency between s390(x) and other arches with "stdarg" handling, build on s390(x) of a C++ lib fails with
error: first argument to ‘va_arg’ not of type ‘va_list’
Please see https://bugzilla.redhat.com/show_bug.cgi?id=1314545 for more details and a reproducer.
Dan