[opensuse-factory] GCC 6 as default compiler - your help is needed
Dear openSUSE Hackers, as you're doubtless aware, we're trying to move to GCC 6 as our default compiler. For this to work, your help is needed in order to make this happen. We currently have a couple packages that fail to build and that need special care / attention. You can get the latest overview from either the two links: * https://goo.gl/BMKxK0 (Rings 0 and 1) and * https://goo.gl/LkHaUM (Ring 2) or via the osc commands: osc prjresults openSUSE:Factory:Staging:A -s F -V (Rings 0 and 1) and osc prjresults openSUSE:Factory:Staging:A:DVD -s F -V (Ring 2) At this moment, the list of failures is: (May 23 2016 - 13:15 UTC): Ring 0/1: cluster-glue espeak gdb libyui mozilla-nss xen Ring 2: amarok cdrdao ColPack crda enblend-enfuse htdig images java-1_7_0-openjdk java-1_7_0-openjdk-bootstrap java-1_8_0-openjdk k3b kdebase4-workspace kdelibs4 kopete krfb kyotocabinet libmusicbrainz liborcus libpt2 libqca-qt5 libraw libreoffice libsidplay1 ModemManager MozillaFirefox MozillaThunderbird NetworkManager-gnome opal openCOLLADA opencv opencv-qt5 plasma5-desktop projectM python-cffi qalculate qemu strigi vlc webkitgtk webkitgtk3 Looking forward to your fixes, Dominique -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
Dominique Leuenberger / DimStar wrote:
Dear openSUSE Hackers,
as you're doubtless aware, we're trying to move to GCC 6 as our default compiler. For this to work, your help is needed in order to make this happen.
We currently have a couple packages that fail to build and that need special care / attention.
You can get the latest overview from either the two links: * https://goo.gl/BMKxK0 (Rings 0 and 1) and * https://goo.gl/LkHaUM (Ring 2)
or via the osc commands: osc prjresults openSUSE:Factory:Staging:A -s F -V (Rings 0 and 1) and osc prjresults openSUSE:Factory:Staging:A:DVD -s F -V (Ring 2)
At this moment, the list of failures is: (May 23 2016 - 13:15 UTC): Could you please give a hint, how to submit fixes?
For instance I found a fix for the "cdrdao" package. But how can I submit the patch? Should I branch the package from Staging as I do with my home repositories? The fix is copied from Fedora Rawhide (http://ftp.uni-bayreuth.de/linux/fedora/linux/development/rawhide/Everything...): ----------- diff -up wrk/dao/CdrDriver.cc.wrk wrk/dao/CdrDriver.cc --- wrk/dao/CdrDriver.cc.wrk 2016-02-16 14:06:23.158392345 +0100 +++ wrk/dao/CdrDriver.cc 2016-02-16 14:07:11.654597254 +0100 @@ -495,7 +495,7 @@ unsigned char CdrDriver::syncPattern[12] 0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0 }; -char CdrDriver::REMOTE_MSG_SYNC_[4] = { 0xff, 0x00, 0xff, 0x00 }; +unsigned char CdrDriver::REMOTE_MSG_SYNC_[4] = { 0xff, 0x00, 0xff, 0x00 }; /* Maps a string to the corresponding driver option value diff -up wrk/dao/CdrDriver.h.wrk wrk/dao/CdrDriver.h --- wrk/dao/CdrDriver.h.wrk 2016-02-16 14:21:18.454174199 +0100 +++ wrk/dao/CdrDriver.h 2016-02-16 14:21:42.381275268 +0100 @@ -440,7 +440,7 @@ protected: bool fullBurn_; static unsigned char syncPattern[12]; - static char REMOTE_MSG_SYNC_[4]; + static unsigned char REMOTE_MSG_SYNC_[4]; static int speed2Mult(int); static int mult2Speed(int); ----------- Greetings, Björn -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
On Mon, 2016-05-23 at 17:32 +0200, Bjoern Voigt wrote:
Could you please give a hint, how to submit fixes?
For instance I found a fix for the "cdrdao" package. But how can I submit the patch? Should I branch the package from Staging as I do with my home repositories?
Fixes flow their natural way: you branch it from the devel prj, add the fix, submit back to the devel prj and from there it is submitted to openSUSE:Factory. No special cases for this change. Cheers, Dominique -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
Dominique Leuenberger / DimStar wrote:
Fixes flow their natural way: you branch it from the devel prj, add the fix, submit back to the devel prj and from there it is submitted to openSUSE:Factory.
No special cases for this change. Thanks. What is the exact name of the matching "devel project"? (I have a fix for "cdrdao".)
Greetings, Björn -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
Bjoern Voigt <bjoernv@arcor.de> writes:
Thanks. What is the exact name of the matching "devel project"? (I have a fix for "cdrdao".)
You are automatically redirected to it if you branch the Factory package. Or use osc dp openSUSE:Factory <pkg>. Andreas. -- Andreas Schwab, SUSE Labs, schwab@suse.de GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE 1748 E4D4 88E3 0EEA B9D7 "And now for something completely different." -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
Am 23.05.2016 um 15:16 schrieb Dominique Leuenberger / DimStar:
We currently have a couple packages that fail to build and that need special care / attention.
You can get the latest overview from either the two links: * https://goo.gl/BMKxK0 (Rings 0 and 1) and * https://goo.gl/LkHaUM (Ring 2)
or via the osc commands: osc prjresults openSUSE:Factory:Staging:A -s F -V (Rings 0 and 1) and osc prjresults openSUSE:Factory:Staging:A:DVD -s F -V (Ring 2)
At this moment, the list of failures is: (May 23 2016 - 13:15 UTC): [...] Ring 2: [...] qemu [snip]
[ 1603s] [BUILD] bin/stringextra.o [ 1603s] core/stringextra.c: In function 'strtok': [ 1603s] core/stringextra.c:189:18: error: nonnull argument 's' compared to NULL [-Werror=nonnull-compare] [ 1603s] sbegin = s ? s : ___strtok; [ 1603s] ~~~~~~^~~~~~~~~~~ [ 1603s] cc1: all warnings being treated as errors [ 1603s] Makefile.housekeeping:862: recipe for target 'bin/stringextra.o' failed [ 1603s] make[1]: *** [bin/stringextra.o] Error 1 [ 1603s] make[1]: Leaving directory '/home/abuild/rpmbuild/BUILD/qemu-2.4.0/roms/ipxe/src' [ 1603s] Makefile:124: recipe for target 'build-pxe-roms' failed [ 1603s] make: *** [build-pxe-roms] Error 2 [ 1603s] make: Leaving directory '/home/abuild/rpmbuild/BUILD/qemu-2.4.0/roms' We have a newer version of QEMU in the devel project. How do we check whether that version already fixes this? Regards, Andreas -- SUSE Linux GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany GF: Felix Imendörffer, Jane Smithard, Graham Norton HRB 21284 (AG Nürnberg) -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
Andreas Färber píše v Po 23. 05. 2016 v 17:44 +0200:
Am 23.05.2016 um 15:16 schrieb Dominique Leuenberger / DimStar:
We currently have a couple packages that fail to build and that need special care / attention.
You can get the latest overview from either the two links: * https://goo.gl/BMKxK0 (Rings 0 and 1) and * https://goo.gl/LkHaUM (Ring 2)
or via the osc commands: osc prjresults openSUSE:Factory:Staging:A -s F -V (Rings 0 and 1) and osc prjresults openSUSE:Factory:Staging:A:DVD -s F -V (Ring 2)
At this moment, the list of failures is: (May 23 2016 - 13:15 UTC): [...] Ring 2: [...] qemu [snip]
[ 1603s] [BUILD] bin/stringextra.o [ 1603s] core/stringextra.c: In function 'strtok': [ 1603s] core/stringextra.c:189:18: error: nonnull argument 's' compared to NULL [-Werror=nonnull-compare] [ 1603s] sbegin = s ? s : ___strtok; [ 1603s] ~~~~~~^~~~~~~~~~~ [ 1603s] cc1: all warnings being treated as errors [ 1603s] Makefile.housekeeping:862: recipe for target 'bin/stringextra.o' failed [ 1603s] make[1]: *** [bin/stringextra.o] Error 1 [ 1603s] make[1]: Leaving directory '/home/abuild/rpmbuild/BUILD/qemu-2.4.0/roms/ipxe/src' [ 1603s] Makefile:124: recipe for target 'build-pxe-roms' failed [ 1603s] make: *** [build-pxe-roms] Error 2 [ 1603s] make: Leaving directory '/home/abuild/rpmbuild/BUILD/qemu-2.4.0/roms'
We have a newer version of QEMU in the devel project. How do we check whether that version already fixes this?
TBH in this case just disable werror, it is not buildissue just -Werror passed to compiler. That applies even for the others that fail on werror only. Tom
On Mon, 2016-05-23 at 17:44 +0200, Andreas Färber wrote:
We have a newer version of QEMU in the devel project. How do we check whether that version already fixes this?
The easiest would be, locally: checkout qemu from the devel prj, chdir to the checkout and then: osc build --alternative-project openSUSE:Factory:Staging:A:DVD \ standard x86_64 Like this you can build you source against the new compiler suite locally. Hth, Dominique -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
On 5/23/2016 at 09:44 AM, Andreas Färber <afaerber@suse.de> wrote: Am 23.05.2016 um 15:16 schrieb Dominique Leuenberger / DimStar: We currently have a couple packages that fail to build and that need special care / attention.
You can get the latest overview from either the two links: * https://goo.gl/BMKxK0 (Rings 0 and 1) and * https://goo.gl/LkHaUM (Ring 2)
or via the osc commands: osc prjresults openSUSE:Factory:Staging:A -s F -V (Rings 0 and 1) and osc prjresults openSUSE:Factory:Staging:A:DVD -s F -V (Ring 2)
At this moment, the list of failures is: (May 23 2016 - 13:15 UTC): [...] Ring 2: [...] qemu [snip]
[ 1603s] [BUILD] bin/stringextra.o [ 1603s] core/stringextra.c: In function 'strtok': [ 1603s] core/stringextra.c:189:18: error: nonnull argument 's' compared to NULL [-Werror=nonnull-compare] [ 1603s] sbegin = s ? s : ___strtok; [ 1603s] ~~~~~~^~~~~~~~~~~ [ 1603s] cc1: all warnings being treated as errors [ 1603s] Makefile.housekeeping:862: recipe for target 'bin/stringextra.o' failed [ 1603s] make[1]: *** [bin/stringextra.o] Error 1 [ 1603s] make[1]: Leaving directory '/home/abuild/rpmbuild/BUILD/qemu-2.4.0/roms/ipxe/src' [ 1603s] Makefile:124: recipe for target 'build-pxe-roms' failed [ 1603s] make: *** [build-pxe-roms] Error 2 [ 1603s] make: Leaving directory '/home/abuild/rpmbuild/BUILD/qemu-2.4.0/roms'
We have a newer version of QEMU in the devel project. How do we check whether that version already fixes this?
Try a local build with something like this, OSC_BUILD_ROOT=/tmp/build-qemu-gcc6 osc --apiurl=https://api.opensuse.org build --noservice x86_64 --no-verify --local-package --alternative-project openSUSE:Factory:Staging:Gcc6 qemu.spec This will use gcc6 and point out any errors in your current code base. You may then make corrections as needed. - Charles -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
On 2016/5/23 下午 11:44, Andreas Färber wrote:
Am 23.05.2016 um 15:16 schrieb Dominique Leuenberger / DimStar:
We currently have a couple packages that fail to build and that need special care / attention.
You can get the latest overview from either the two links: * https://goo.gl/BMKxK0 (Rings 0 and 1) and * https://goo.gl/LkHaUM (Ring 2)
or via the osc commands: osc prjresults openSUSE:Factory:Staging:A -s F -V (Rings 0 and 1) and osc prjresults openSUSE:Factory:Staging:A:DVD -s F -V (Ring 2)
At this moment, the list of failures is: (May 23 2016 - 13:15 UTC): [...] Ring 2: [...] qemu [snip]
[ 1603s] [BUILD] bin/stringextra.o [ 1603s] core/stringextra.c: In function 'strtok': [ 1603s] core/stringextra.c:189:18: error: nonnull argument 's' compared to NULL [-Werror=nonnull-compare] [ 1603s] sbegin = s ? s : ___strtok; [ 1603s] ~~~~~~^~~~~~~~~~~ [ 1603s] cc1: all warnings being treated as errors [ 1603s] Makefile.housekeeping:862: recipe for target 'bin/stringextra.o' failed [ 1603s] make[1]: *** [bin/stringextra.o] Error 1 [ 1603s] make[1]: Leaving directory '/home/abuild/rpmbuild/BUILD/qemu-2.4.0/roms/ipxe/src' [ 1603s] Makefile:124: recipe for target 'build-pxe-roms' failed [ 1603s] make: *** [build-pxe-roms] Error 2 [ 1603s] make: Leaving directory '/home/abuild/rpmbuild/BUILD/qemu-2.4.0/roms'
We have a newer version of QEMU in the devel project. How do we check whether that version already fixes this?
Add openSUSE:Factory:Staging:A:DVD/standard to your build repositories should be the convenient way. Regards, Max -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
On Mon, 2016-05-23 at 15:16 +0200, Dominique Leuenberger / DimStar wrote:
Dear openSUSE Hackers,
as you're doubtless aware, we're trying to move to GCC 6 as our default compiler. For this to work, your help is needed in order to make this happen.
mozilla-nss
mozilla-nss seems to be already fixed in the develprj [mozilla:Factory].
MozillaFirefox
I have added a patch from upstream for this. It is available from https://build.opensuse.org/package/show/home:badshah400:branches:openSUSE:Fa... which I intend to submit to the develprj if/when it builds successfully. Thank you very much for your notification. -- Atri Bhattacharya Mon 23 May 17:42:55 CEST 2016 Sent from openSUSE Tumbleweed (20160520) (x86_64) on my laptop. -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
"Dominique Leuenberger / DimStar" <dimstar@opensuse.org> writes:
Ring 0/1: cluster-glue
Patched package submitted now: https://build.opensuse.org/request/show/397565 Cheers, Kristoffer -- // Kristoffer Grönlund // kgronlund@suse.com -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
Il giorno Mon, 23 May 2016 15:16:33 +0200 Dominique Leuenberger / DimStar <dimstar@opensuse.org> ha scritto:
plasma5-desktop
Should be done as of request 397614. -- Luca Beltrame - KDE Forums team GPG key ID: A29D259B
On Mon, 23 May 2016 15:16:33 +0200 Dominique Leuenberger / DimStar <dimstar@opensuse.org> wrote:
Dear openSUSE Hackers,
as you're doubtless aware, we're trying to move to GCC 6 as our default compiler. For this to work, your help is needed in order to make this happen.
We currently have a couple packages that fail to build and that need special care / attention.
You can get the latest overview from either the two links: * https://goo.gl/BMKxK0 (Rings 0 and 1) and * https://goo.gl/LkHaUM (Ring 2)
or via the osc commands: osc prjresults openSUSE:Factory:Staging:A -s F -V (Rings 0 and 1) and osc prjresults openSUSE:Factory:Staging:A:DVD -s F -V (Ring 2)
At this moment, the list of failures is: (May 23 2016 - 13:15 UTC):
Ring 0/1: cluster-glue espeak gdb libyui
Fix send and now is in staging ( version 3.2.4, if not please report bug, thanks ) Thanks to mvidner Josef
mozilla-nss xen
Ring 2: amarok cdrdao ColPack crda enblend-enfuse htdig images java-1_7_0-openjdk java-1_7_0-openjdk-bootstrap java-1_8_0-openjdk k3b kdebase4-workspace kdelibs4 kopete krfb kyotocabinet libmusicbrainz liborcus libpt2 libqca-qt5 libraw libreoffice libsidplay1 ModemManager MozillaFirefox MozillaThunderbird NetworkManager-gnome opal openCOLLADA opencv opencv-qt5 plasma5-desktop projectM python-cffi qalculate qemu strigi vlc webkitgtk webkitgtk3
Looking forward to your fixes, Dominique
-- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
On Mon, 2016-05-23 at 15:16 +0200, Dominique Leuenberger / DimStar wrote:
Dear openSUSE Hackers,
as you're doubtless aware, we're trying to move to GCC 6 as our default compiler. For this to work, your help is needed in order to make this happen.
We currently have a couple packages that fail to build and that need special care / attention.
You can get the latest overview from either the two links: * https://goo.gl/BMKxK0 (Rings 0 and 1) and * https://goo.gl/LkHaUM (Ring 2)
For easier tracking I created aa wiki page https://en.opensuse.org/Move_to_Gcc6 Let's update this page with information on packages, links to bugs and/or submit requests... Cheers, Dominique -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
Hello hackers! On Mon, 2016-05-23 at 15:16 +0200, Dominique Leuenberger / DimStar wrote:
Dear openSUSE Hackers,
as you're doubtless aware, we're trying to move to GCC 6 as our default compiler. For this to work, your help is needed in order to make this happen.
We currently have a couple packages that fail to build and that need special care / attention.
You can get the latest overview from either the two links: * https://goo.gl/BMKxK0 (Rings 0 and 1) and * https://goo.gl/LkHaUM (Ring 2)
or via the osc commands: osc prjresults openSUSE:Factory:Staging:A -s F -V (Rings 0 and 1) and osc prjresults openSUSE:Factory:Staging:A:DVD -s F -V (Ring 2)
It's been 48 hours and I am impressed by all the fixes we already got together for this! Some fixes are 'still' on their way through the devel projects, but as you can see at https://en.opensuse.org/Move_to_Gcc6 there has definitively been GREAT progress in this short time. Thanks to everybody who helped so far to get where we are. I understand that those were likely the 'easier' cases to fix: either we could 'borrow' a patch from some other distro, upstream fixed it already or the patch could be quickly written up. What does this mean for the remaining packages? Let's put our heads together and get to the bottom of that list - we all know that deep inside, we want our distro to be built with GCC 6 ! With this I wish you happy hacking! Cheers, Dominique -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
Is the GCC 6 option -Werror=misleading-indentation really helpful? I saw this patch for Mozilla NSS: https://build.opensuse.org/package/view_file/mozilla:Factory/mozilla-nss/nss... The patch is long, but mostly changes indentation to make GCC 6 with -Werror=misleading-indentation happy. One example: --- nss.orig/lib/dbm/src/hash.c +++ nss/lib/dbm/src/hash.c @@ -154,7 +154,7 @@ __hash_open(const char *file, int flags, return NULL; } hashp->fp = NO_FILE; - if(file) + if (file) hashp->filename = strdup(file); /* Greetings, Björn -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
On Wed, 2016-05-25 at 16:32 +0200, Bjoern Voigt wrote:
Is the GCC 6 option -Werror=misleading-indentation really helpful?
I'd say yes. Actually I have seen code where this was definitively pointing tat a bug. A typical error for coders switching between languages: if (CONDITION) Call_Function1 Call_Function2 CalL_Function3 In C, this means Call_Function1 is only executed when condition is TRUE. Call_Function2 and Call_Function3 are always exectuted. Looking at the way the code is structured, this is very likely NOT what the coder had in mind - and is exactly what gcc6 now warns about. Cheers, Dominique -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
On Wed, May 25, 2016 at 9:47 AM, Dominique Leuenberger / DimStar <dimstar@opensuse.org> wrote:
On Wed, 2016-05-25 at 16:32 +0200, Bjoern Voigt wrote:
Is the GCC 6 option -Werror=misleading-indentation really helpful?
I'd say yes. Actually I have seen code where this was definitively pointing tat a bug.
Indeed. Here's a very serious real-world example that got a lot of publicity. https://nakedsecurity.sophos.com/2014/02/24/anatomy-of-a-goto-fail-apples-ss... -Archie -- Archie L. Cobbs -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
On Wed, May 25, 2016 at 10:32 AM, Bjoern Voigt <bjoernv@arcor.de> wrote:
Is the GCC 6 option -Werror=misleading-indentation really helpful?
I saw this patch for Mozilla NSS: https://build.opensuse.org/package/view_file/mozilla:Factory/mozilla-nss/nss...
In this case, f.yeah!...any real control flow ambiguity in a cryptographic library might lead to a catastrophic failure.. -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
On Wed, 25 May 2016, Bjoern Voigt wrote:
Is the GCC 6 option -Werror=misleading-indentation really helpful?
I saw this patch for Mozilla NSS: https://build.opensuse.org/package/view_file/mozilla:Factory/mozilla-nss/nss...
The patch is long, but mostly changes indentation to make GCC 6 with -Werror=misleading-indentation happy.
One example: --- nss.orig/lib/dbm/src/hash.c +++ nss/lib/dbm/src/hash.c @@ -154,7 +154,7 @@ __hash_open(const char *file, int flags, return NULL; } hashp->fp = NO_FILE; - if(file) + if (file) hashp->filename = strdup(file);
/*
I believe this must be a spurious formatting change not required to fix any -Wmisleading-indentation warning. Richard. -- Richard Biener <rguenther@suse.de> SUSE LINUX GmbH, GF: Felix Imendoerffer, Jane Smithard, Graham Norton, HRB 21284 (AG Nuernberg) -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
participants (15)
-
Andreas Färber
-
Andreas Schwab
-
Archie Cobbs
-
Atri Bhattacharya
-
Bjoern Voigt
-
Charles Arnold
-
Cristian Rodríguez
-
Dominique Leuenberger
-
Dominique Leuenberger / DimStar
-
Josef Reidinger
-
Kristoffer Grönlund
-
Luca Beltrame
-
Max Lin
-
Richard Biener
-
Tomas Chvatal