Fedora mass rebuild 2017

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

 



It's been a tradition now that every January we rebuild all the Fedora packages
with the upcoming GCC, to reveal as many bugs as possible before we release
the new version.  This year is no different.

There were 18811 packages overall (last year we had 17741 packages).
17263 built fine with the new GCC (mostly gcc-7.0.0-0.1.fc26.src.rpm but I also
used a newer version from rawhide).  1350 failed with both GCC 6 and GCC 7,
so I ignored these.  This left us with ~198 packages that had to be analyzed,
a number which, fortunately, was smaller than last year, when we'd had 577 FTBFS to
investigate.

The Fedora packages I rebuilt were grabbed on Jan 12.

It's all fairly good, and nothing particularly stands out.  There is the usual
batch of new warnings (-Wimplicit-fallthrough and -Wformat-truncation causing
the biggest churn), some C++ FE changes (especially the "Fix type-dependence
and the current instantiation" changes made the compiler to reject invalid code
that had previously been accepted, plus invalid conversions with '\0' are now
rejected), some libstdc++ changes (header dependency changes), as well as some
mangling changes.

We found several GCC bugs, most of which have already been fixed.  Furthermore,
Fortran ABI has changed in GCC 7.  Anyway, there's nothing that particularly
worries me (except perhaps the -fprintf-return-value stuff that might still
cause some wrong codes).

Shortlog appended for the people who want to get an overview of the details.

As usual, there will be a "porting to" document to ease the transition to the
new GCC.  We already have https://gcc.gnu.org/gcc-7/porting_to.html, even though
this document is still somewhat in flux.

I'd like to thank Jakub Jelinek and Jonathan Wakely, the guys I roped in to help
me with all this undertaking.

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:

schroot-1.6.5-16.fc24.src.rpm
	ICE in cxx_incomplete_type_diagnostic
	https://gcc.gnu.org/PR78690
	not fixed yet

python-plyvel-0.9-7.fc26.src.rpm
	error: invalid rhs for gimple memory store
	https://gcc.gnu.org/PR79232
	fixed in gcc-7.0.1-0.4.fc26

mathicgb-1.0-6.20160202.gitbb268df.fc26.src.rpm
	ICE in tsubst_copy
	https://gcc.gnu.org/PR79253
	fixed upstream and in gcc-7.0.1-0.5.fc26

cvc4-1.4-11.fc25.src.rpm
	TLS model wrong for static data members
	https://gcc.gnu.org/PR79288
	fixed in gcc-7.0.1-0.4.fc26

golang-1.7.4-1.fc26.src.rpm
	DWARF info for typeof of C function with no args and no prototype
	is empty pointer
	https://gcc.gnu.org/PR79289
	fixed upstream and in gcc-7.0.1-0.4.fc26

texlive-2016-30.20160520.fc26.src.rpm
tlog-2-1.fc25.src.rpm
	wrong code at -O2 and -fprintf-return-value
	https://gcc.gnu.org/PR79327
	fixed upstream and in gcc-7.0.1-0.6.fc26

perl-Prima-1.50-1.fc26.src.rpm
	-fprintf-return-value doesn't handle flexible-like array members properly
	https://gcc.gnu.org/PR79352
	fixed upstream and in gcc-7.0.1-0.6.fc26

clucene09-0.9.21b-16.fc24.src.rpm
qt5-qttools-5.7.1-4.fc26.src.rpm
	g++ rejects valid code with error: looser throw specifier
	https://gcc.gnu.org/PR79393	

Failures due to new warnings and -Werror
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
efivar-30-4.fc26.src.rpm
	a new -Walloc-size-larger-than warning

bind-dyndb-ldap-11.0-1.fc26.src.rpm
efibootmgr-14-3.fc26.src.rpm
fwupdate-8-2.fc26.src.rpm
	a new -Wduplicate-decl-specifier warning

mstflint-4.4.0-1.12.gd1edd58.1.fc26.src.rpm
	a new -Wformat-length warning

blobwars-1.19-13.fc24.src.rpm
czmq-4.0.2-1.fc26.src.rpm
elfutils-0.168-1.fc26.src.rpm
fcoe-utils-1.0.30-5.git91c0c8c.fc24.src.rpm
glib2-2.51.0-2.fc26.src.rpm
glibc-2.24.90-26.fc26.src.rpm
ipv6calc-0.99.2-17.fc26.src.rpm
isomd5sum-1.1.0-4.fc26.src.rpm
ixpdimm_sw-01.00.00.2144-1.fc26.src.rpm
libhid-0.2.17-21.fc25.src.rpm
libpsm2-10.2.2-2.fc25.src.rpm
libyui-3.2.8-1.fc26.src.rpm
logrotate-3.11.0-2.fc26.src.rpm
memcached-1.4.33-1.fc26.src.rpm
nfs-ganesha-2.4.1-2.fc26.src.rpm
nodm-0.12-1.fc25.src.rpm
openvas-libraries-8.0.8-2.fc26.src.rpm
pacemaker-1.1.16-1.fc26.src.rpm
sbd-1.2.1-3.fc24.1.src.rpm
Simple-Fuzzer-0.7.1-1.src.rpm
usbip-4.5-1.fc25.src.rpm
varnish-5.0.0-1.fc26.src.rpm
vsftpd-3.0.3-4.fc26.src.rpm
xrootd-4.5.0-1.fc26.src.rpm
	a new -Wformat-truncation

ArpON-3.0-2.fc25.src.rpm
clevis-2-1.fc26.src.rpm
coreboot-utils-4.5-2.fc26.src.rpm
crash-7.1.7-1.fc26.src.rpm
gmqcc-0.3.5-10.fc26.src.rpm
hidrd-0.2.0-3.20160712git1abf7033.fc25.src.rpm
libs3-2.0-0.5.20161104gita052a00.fc26.src.rpm
libvma-8.0.1-1.fc25.src.rpm
lldpad-1.0.1-4.git036e314.fc24.src.rpm
luksmeta-3-1.fc26.src.rpm
mdadm-3.4-3.fc26.src.rpm
mingw-w64-tools-3.1.999-0.8.trunk.git430863.20140530.fc24.src.rpm
msgpack-1.4.1-1.fc25.src.rpm
percona-xtrabackup-2.2.9-4.fc24.src.rpm
pesign-0.112-5.fc26.src.rpm
pidgin-sipe-1.21.1-1.fc25.src.rpm
qpid-cpp-1.35.0-1.fc26.src.rpm
qpid-qmf-1.35.0-1.fc26.src.rpm
quassel-irssi-0-2.20161120gitcbd9bd7.fc26.src.rpm
sway-0.11-4.fc26.src.rpm
	a new -Wimplicit-fallthrough warning

cdrkit-1.1.11-32.fc26.src.rpm
	a new -Wint-in-bool-contex warning

Invalid C++
~~~~~~~~~~~~~~~~~~~~~~
Add64-1.2.2-10.fc24.src.rpm
berusky2-0.10-11.fc24.src.rpm
easystroke-0.6.0-15.fc24.src.rpm
guitarix-0.35.0-3.fc26.src.rpm
inkscape-0.92.0-11.fc26.src.rpm
jack-audio-connection-kit-1.9.10-5.fc24.src.rpm
kate4-4.14.3-16.fc24.src.rpm
milkytracker-0.90.86-3.fc25.src.rpm
muse-2.2.1-2.fc24.src.rpm
rawtherapee-4.2.1234-2.20161105gitb766110.fc26.src.rpm
svxlink-15.11-1.fc24.src.rpm
vdr-2.2.0-10.fc25.src.rpm
	error: call of overloaded 'abs(...)' is ambiguous
	All overloads of the abs function are now declared by including either
	of <cstdlib> or <cmath>, and the custom overloads conflict with one of
	the additional overloads in the standard headers.  Additionally,
	calling abs with an argument of unsigned type is now ill-formed after
	inclusion of any standard abs overload. 

capnproto-0.5.3-2.fc25.src.rpm
	error: could not convert template argument 'b' from 'bool' to 'capnp::Kind'
	Presumably invalid C++.

atlascpp-0.6.3-6.fc24.src.rpm
glmark2-2014.03-6.fc25.src.rpm
ladish-2-13.3.gitfcb16ae.fc24.src.rpm
libinvm-cim-1.0.0.1043-1.fc26.src.rpm
libvoikko-3.8-2.fc25.src.rpm
openoffice.org-diafilter-1.7.5-1.fc24.src.rpm
pulseview-0.3.0-1.fc24.src.rpm
	error: dynamic exception specifications are deprecated in C++11; use 'noexcept' instead
	In C++17, throw(int) is no longer valid.

asgp-1.0.18-6.fc26.src.rpm
bear-0.7.0-0.11.20161230git781ec80.fc26.src.rpm
crawl-0.19.1-1.fc26.src.rpm
libclaw-1.7.4-16.fc26.src.rpm
plee-the-bear-0.7.0-10.fc26.src.rpm
steghide-0.5.1-28.fc26.src.rpm
	error: expected primary-expression before ... token
	Invalid C++ code; it needs to be "position.template cast_value_type_to".
	See https://womble.decadent.org.uk/c++/template-faq.html#disambiguation.

normaliz-2.12.2-8.fc24.src.rpm
	error: expression cannot be used as a function
	Invalid C++, Jon opened:
	https://bugzilla.redhat.com/show_bug.cgi?id=1417678	

apt-cacher-ng-0.9.0-1.fc24.src.rpm
clementine-1.3.1-4.fc26.src.rpm
conky-1.10.4-1.fc26.src.rpm
dwgrep-0.2-4.fc24.src.rpm
fflas-ffpack-2.2.2-3.fc26.src.rpm
glogg-1.1.2-1.fc26.src.rpm
gpgme-1.8.0-7.fc26.src.rpm
gtengine-3.5-1.fc26.src.rpm
lldb-3.9.0-3.fc26.src.rpm
pingus-0.7.6-20.fc24.src.rpm
plasma-desktop-5.8.5-2.fc26.src.rpm
worker-3.3.3-6.fc24.src.rpm
	Quoting from porting_to:
	Several C++ Standard Library headers have been changed to no longer
	include the <functional> header. As such, C++ programs that used components
	defined in <functional> without explicitly including that header will no
	longer compile.

	Previously components such as std::bind and std::function were implicitly
	defined after including unrelated headers such as <memory>, <futex>, <mutex>,
	and <regex>. Correct code should #include <functional> to define them. 

	Also see https://bugzilla.redhat.com/show_bug.cgi?id=1417383
	
bison-3.0.4-4.fc24.src.rpm
	This package contains code that is trying to add some classes to std::,
	that is undefined behavior.

Coin2-2.5.0-28.fc26.src.rpm
Coin3-3.1.3-18.fc26.src.rpm
dbus-c++-0.9.0-11.fc24.src.rpm
festival-1.96-32.fc24.src.rpm
gambas3-3.9.2-2.fc26.src.rpm
htdig-3.2.0-0.25.b6.fc24.src.rpm
kyotocabinet-1.2.76-11.fc26.src.rpm
mup-6.5-1.fc26.src.rpm
percolator-3.01-1.fc26.src.rpm
pki-core-10.3.5-10.fc26.src.rpm
scim-1.4.17-1.fc25.src.rpm
scim-bridge-0.4.16-22.fc24.src.rpm
speed-dreams-2.2.1-2.fc26.src.rpm
torcs-1.3.7-1.fc25.src.rpm
	error: invalid conversion from 'char' to 'char*'
	s = '\0'
	This code is invalid in C++11 and GCC doesn't compile it anymore (pointer
	conversions are only allowed for an integral-literal and not a character
	literal).  In C++03 and in C the compiler warns (-Wpointer-compare).

vegastrike-0.5.1-27.r1.fc24.src.rpm
	error: request for member ... in ...
	Looks like '.' is used instead of '->', so invalid C++.

apvlv-0.1.4-11.fc25.src.rpm
arm-none-eabi-gcc-cs-6.2.0-1.fc26.src.rpm
aspell-0.60.6.1-14.fc26.src.rpm
avr-gcc-6.2.0-1.fc26.src.rpm
dyninst-9.3.0-1.fc26.src.rpm
edk2-20161105git3b25ca8-1.fc26.src.rpm
frysk-0.4-54.fc26.src.rpm
gearmand-1.1.14-1.fc26.src.rpm
glog-0.3.3-12.fc25.src.rpm
gpsim-0.29.0-1.fc24.src.rpm
hylafax+-5.5.8-1.fc24.src.rpm
kdelibs-4.14.28-1.fc26.src.rpm
libmemcached-1.0.18-7.fc24.src.rpm
libmp4v2-2.1.0-0.6.trunkREV507.fc24.src.rpm
mingw-gcc-6.3.0-1.fc26.src.rpm
mozjs17-17.0.0-16.fc26.src.rpm
mozjs24-24.2.0-11.fc26.src.rpm
ode-0.14-2.fc24.src.rpm
oorexx-4.2.0-3.fc26.src.rpm
primer3-2.3.6-6.fc24.src.rpm
shigofumi-0.6-4.fc25.src.rpm
snoopy-2.2.6-3.fc24.src.rpm
vdr-live-0.3.0-24.20150213git6ea279a.fc26.src.rpm
xmoto-0.5.11-9.fc24.src.rpm
	error: ISO C++ forbids comparison between pointer and integer
	You can no longer write "ptr == '\0'" as it's invalid C++11.

atanks-6.5-1.fc26.src.rpm
blitz-0.10-10.fc24.src.rpm
nodejs-6.9.4-1.fc26.src.rpm
OpenEXR-2.2.0-6.fc26.src.rpm
qt5-qtbase-5.7.1-12.fc26.src.rpm
qt5-qtwebengine-5.7.1-4.fc26.src.rpm
v8-314-3.14.5.10-3.fc25.src.rpm
z3-4.5.0-1.fc26.src.rpm
	error: invalid use of incomplete type
	This code is ill-formed and G++ now rejects such code.

k3d-0.8.0.6-2.fc26.src.rpm
	error: no match for 'operator<<' (operand types are 'std::ostream
	{aka std::basic_ostream<char>}' and 'const double')
	Missing <ostream>.

codeblocks-16.01-2.fc26.src.rpm
cyphesis-0.6.2-9.fc24.src.rpm
	there are no arguments to .. that depend on a template parameter,
	so a declaration of ... must be available
	This code is ill-formed and G++ now rejects such code.

ETL-0.04.22-1.fc26.src.rpm
libffado-2.3.0-1.fc26.src.rpm
meshlab-1.3.2-10.fc25.src.rpm
sflphone-1.4.1-20.fc26.src.rpm
	error: no matching function for call to ...
	Invalid code.

mongo-cxx-driver-1.1.2-3.fc26.src.rpm
	Unknown failure.  Fails in a shim test, so perhaps some
	libstdc++ changes?

gmm-5.0-1.fc24.src.rpm
	Package exceeded -ftemplate-depth limit.

cppcheck-1.75-1.fc26.src.rpm
pdns-4.0.1-3.fc26.src.rpm
pdns-recursor-4.0.3-2.fc26.src.rpm
	error: types may not be defined in a for-range-declaration
	Invalid code: "The decl-specifier-seq shall not define a
	class or enumeration."
	(This used to be a warning.)

openigtlink-0-0.2.20151015gitccb2438.fc24.src.rpm
	error: 'void*' is not a pointer-to-object type
	Invalid code.

Other
~~~~~
ruby-2.3.3-61.fc26.src.rpm
	This was a GC bug in Ruby; fixed.
	https://bugzilla.redhat.com/show_bug.cgi?id=1417590

florist-2011-19.fc24.src.rpm
matreshka-0.7.0-5.fc24.src.rpm
	Error: no native compiler found for language 'ada', default runtime
	This is gcc-gnat related.  Didn't investigate further.

cryptlib-3.4.3-8.fc26.src.rpm
cryptobone-1.1.1-2.fc26.src.rpm
	error: CPU you selected does not support x86-64 instruction set
	-mcpu=pentium in the options list.

diffutils-3.5-1.fc26.src.rpm
	A bug in the package.  I opened a BZ with a patch:
	https://bugzilla.redhat.com/show_bug.cgi?id=1419536

libbson-1.5.1-1.fc26.src.rpm
	-fwrapv helped, so I bet this is a bug in the package.  I suggest
	to use -fsanitize=undefined to see where the overflow happens.

libosmocore-0.9.0-4.2015110~t916423ef.fc24.src.rpm
	-fgnu89-inline helped.  See what I wrote in
	https://gcc.gnu.org/gcc-5/porting_to.html

ecl-16.1.2-1.fc26.src.rpm
	This failed because there was an insanely huge struct and the new
	diagnostics (fix-it hints) was trying to print it all.  I killed
	the build.

coin-or-Dip-0.91.2-6.fc25.src.rpm
R-DynDoc-1.52.0-1.fc26.src.rpm
R-pls-2.4.3-5.fc24.src.rpm
	Missing libgfortran 7.

bastet-0.43.1-11.fc24.src.rpm
ocaml-cil-1.7.3-27.fc26.src.rpm
ocp-0.1.22-0.10.git849cc42.fc26.src.rpm
openms-2.1.0-3.fc26.src.rpm
openttd-1.6.1-2.fc26.src.rpm
	These are not ready for a new gcc version (gcc -dumpversion says '7'
	and not e.g. '6.3.1') and the packages fail to cope with that.

perl-HTTP-Proxy-0.304-3.fc25.src.rpm
perl-OpenGL-0.6704-5.fc25.src.rpm
	Two Perl failures that I wasn't able to analyze, but since they
	don't use gcc at all, I presume it's not gcc's fault.

vavoom-1.33-19.fc26.src.rpm
	For some unknown reason a piece of a Makefile isn't performed,
	resulting in a failure.

arc-gui-clients-0.4.6-9.fc25.src.rpm
archimedes-2.0.1-5.fc24.src.rpm
audacity-2.1.3-0.7.20161109git53a5c93.fc26.src.rpm
bwm-ng-0.6.1-2.fc24.src.rpm
ember-0.7.2-15.fc25.src.rpm
extremetuxracer-0.7.4-1.fc26.src.rpm
funguloids-1.06-18.fc24.src.rpm
glite-lbjp-common-gsoap-plugin-3.2.12-10.fc26.src.rpm
gnokii-0.6.31-14.fc24.src.rpm
gobby-0.4.13-10.fc24.src.rpm
linbox-1.4.2-5.fc26.src.rpm
marsshooter-0.7.6-2.fc26.src.rpm
mgetty-1.1.37-1.fc26.src.rpm
mkvtoolnix-9.6.0-1.fc26.src.rpm
openalchemist-0.4-19.fc24.src.rpm
powerline-2.5-4.fc26.src.rpm
sobby-0.4.7-12.fc24.src.rpm
tunneler-1.1.1-17.fc24.src.rpm
	Undefined references.  Some of them might be due to C99/GNU89 inline
	semantics, but some of them are result of the mangling changes, see
	porting_to.html.

pspp-0.10.2-1.fc26.src.rpm
	A bug in the package, see
	https://bugzilla.redhat.com/show_bug.cgi?id=1419174

	Marek
_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]
  Powered by Linux