Hi Martin,

Thanks for first reporting this issue.
This was caused by the eC compiler not separating multiple attributes with commas in generated C code, which apparently would pass silently in previous GCC versions. This has been solved upstream on the master branch ( https://github.com/ecere/ecere-sdk/commit/5c4b8a9129d7d4f46aa4a75b102b26b70ebd0aa1 ) and the fix will be included in next package release. Confirming the Ecere SDK now builds fine with GCC 6.1.1 on Debian Unstable with the latest upstream source.

Best regards,

-Jerome

On 2016-01-19 11:03 PM, Martin Michlmayr wrote:
Package: ecere-sdk
Version: 0.44.14-1
Severity: important
User: debian-...@lists.debian.org
Usertags: ftbfs-gcc-6

This package fails to build with GCC 6.  GCC 6 has not been released
yet, but it's expected that GCC 6 will become the default compiler for
stretch.

Note that only the first error is reported; there might be more.  You
can find a snapshot of GCC 6 in experimental.  To build with GCC 6,
you can set CC=gcc-6 CXX=g++-6 explicitly.

You may be able to find out more about this issue at
https://gcc.gnu.org/gcc-6/changes.html

sbuild (Debian sbuild) 0.67.0 (26 Dec 2015) on dl580gen9-02.hlinux
...
Building 2nd stage ecere...
make[2]: Entering directory '/<<PKGBUILDDIR>>/ecere'
obj/release.linux/Archive.c:327:93: error: expected ')' before '__leaf__'
   extern unsigned int gnu_dev_major(unsigned long long int __dev) 
__attribute__((__nothrow__ __leaf__)) __attribute__((__const__));
                                                                                
              ^~~~~~~~

obj/release.linux/Archive.c:327:102: error: expected ',' or ';' before ')' token
   extern unsigned int gnu_dev_major(unsigned long long int __dev) 
__attribute__((__nothrow__ __leaf__)) __attribute__((__const__));
                                                                                
                       ^

obj/release.linux/Archive.c:329:93: error: expected ')' before '__leaf__'
   extern unsigned int gnu_dev_minor(unsigned long long int __dev) 
__attribute__((__nothrow__ __leaf__)) __attribute__((__const__));
                                                                                
              ^~~~~~~~

obj/release.linux/Archive.c:329:102: error: expected ',' or ';' before ')' token
   extern unsigned int gnu_dev_minor(unsigned long long int __dev) 
__attribute__((__nothrow__ __leaf__)) __attribute__((__const__));
                                                                                
                       ^

obj/release.linux/Archive.c:331:119: error: expected ')' before '__leaf__'
   extern unsigned long long int gnu_dev_makedev(unsigned int __major, unsigned 
int __minor) __attribute__((__nothrow__ __leaf__)) __attribute__((__const__));
                                                                                
                                        ^~~~~~~~

obj/release.linux/Archive.c:331:128: error: expected ',' or ';' before ')' token
   extern unsigned long long int gnu_dev_makedev(unsigned int __major, unsigned 
int __minor) __attribute__((__nothrow__ __leaf__)) __attribute__((__const__));
                                                                                
                                                 ^

Makefile:1440: recipe for target 'obj/release.linux/Archive.o' failed

Reply via email to