Re: Fedora mass rebuild 2016
On Mon, 22 Feb 2016 12:55:56 +0100 Marek Polacekwrote: > 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 -- devel mailing list devel@lists.fedoraproject.org http://lists.fedoraproject.org/admin/lists/devel@lists.fedoraproject.org
Re: Fedora mass rebuild 2016
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. -- devel mailing list devel@lists.fedoraproject.org http://lists.fedoraproject.org/admin/lists/devel@lists.fedoraproject.org
Re: Fedora mass rebuild 2016
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 -- Orion Poplawski Technical Manager 303-415-9701 x222 NWRA/CoRA DivisionFAX: 303-415-9702 3380 Mitchell Lane or...@cora.nwra.com Boulder, CO 80301 http://www.cora.nwra.com -- devel mailing list devel@lists.fedoraproject.org http://lists.fedoraproject.org/admin/lists/devel@lists.fedoraproject.org
Re: Fedora mass rebuild 2016
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/thread/3HQ5JV4NNDZN7YMGMBSS5FCYBITSTEXM/#3HQ5JV4NNDZN7YMGMBSS5FCYBITSTEXM 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. -- devel mailing list devel@lists.fedoraproject.org http://lists.fedoraproject.org/admin/lists/devel@lists.fedoraproject.org
Re: Fedora mass rebuild 2016
On Mon, Feb 22, 2016 at 4:55 AM, Marek Polacekwrote: > 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/thread/3HQ5JV4NNDZN7YMGMBSS5FCYBITSTEXM/#3HQ5JV4NNDZN7YMGMBSS5FCYBITSTEXM 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. -- Jerry James http://www.jamezone.org/ -- devel mailing list devel@lists.fedoraproject.org http://lists.fedoraproject.org/admin/lists/devel@lists.fedoraproject.org
Re: Fedora mass rebuild 2016
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 -- devel mailing list devel@lists.fedoraproject.org http://lists.fedoraproject.org/admin/lists/devel@lists.fedoraproject.org
Re: Fedora mass rebuild 2016
On Mon, 22 Feb 2016 12:55:56 +0100, Marek Polacek wrote: > audiofile-0.3.6-9.fc24.src.rpm This one was left-shifting a negative integer and also triggered narrowing-conversion errors. Fixed in Rawhide already. -- devel mailing list devel@lists.fedoraproject.org http://lists.fedoraproject.org/admin/lists/devel@lists.fedoraproject.org
Re: Fedora mass rebuild 2016
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/85081d81b4020679a5d44790e249cfd56259baae/ > 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 -- devel mailing list devel@lists.fedoraproject.org http://lists.fedoraproject.org/admin/lists/devel@lists.fedoraproject.org
Re: Fedora mass rebuild 2016
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 -- devel mailing list devel@lists.fedoraproject.org http://lists.fedoraproject.org/admin/lists/devel@lists.fedoraproject.org
Fedora mass rebuild 2016
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