what feature fixed the gcc-5 preprocessor build error from a few months back?
once upon a time, i asked a question about the origin of this OE
build error using gcc-5 to build ncurses-native:
Quoted 1 line
In file included from
/home/rpjday/oe/builds/oe/qemux86/tmp-glibc/work/x86_64-linux/ncurses-native/5.9-r15.1/ncurses-5.9/ncurses/curses.priv.h:283:0,
Quoted 3 lines
from ../ncurses/lib_gen.c:19:_20141.c:835:15: error: expected ')' before 'int'
../include/curses.h:1594:56: note: in definition of macro
'mouse_trafo'
Quoted 1 line
#define
mouse_trafo(y,x,to_screen)
wmouse_trafo(stdscr,y,x,to_screen)
it didn't take long to be pointed to an explanation on the fedora
mailing list:
http://lists.openembedded.org/pipermail/openembedded-core/2015-February/101820.html
" these packages failed to build because of the changes in the preprocessor;
gcc started to generate line directives to better detect whether a macro tokens come from a system header - see http://gcc.gnu.org/PR60723
The fix is to use the -P option if the code isn't prepared to deal with such directives.
so i just added to my local.conf:
CPPFLAGS_append_pn-ncurses-native = " -P"
that issue was apparently fixed and i haven't needed to do that for
a while. however, i'm now using someone's custom version of OE-core and that very error is back, so what was it that was tweaked to deal with it? thanks.
rday
Signature · 7 lines
========================================================================
Robert P. J. Day Ottawa, Ontario, CANADA
http://crashcourse.ca
Twitter: http://twitter.com/rpjday
LinkedIn: http://ca.linkedin.com/in/rpjday
========================================================================Hello Robert,
Quoted 24 lines · Robert P. J. Day
once upon a time, i asked a question about the origin of this OE
build error using gcc-5 to build ncurses-native:Quoted 1 line
In file included from
/home/rpjday/oe/builds/oe/qemux86/tmp-glibc/work/x86_64-linux/ncurses-native/5.9-r15.1/ncurses-5.9/ncurses/curses.priv.h:283:0,Quoted 3 lines
from ../ncurses/lib_gen.c:19:_20141.c:835:15: error: expected ')' before 'int'
../include/curses.h:1594:56: note: in definition of macro'
mouse_trafo'Quoted 1 line
#define
mouse_trafo(y,x,to_screen)
wmouse_trafo(stdscr,y,x,to_screen)it didn't take long to be pointed to an explanation on the fedora
mailing list:http://lists.openembedded.org/pipermail/openembedded-core/2015-February/101820.html
" these packages failed to build because of the changes in the preprocessor;
gcc started to generate line directives to better detect whether a macro tokens come from a system header - see http://gcc.gnu.org/PR60723
The fix is to use the -P option if the code isn't prepared to deal with such directives.
Quoted 8 lines
so i just added to my local.conf:
CPPFLAGS_append_pn-ncurses-native = " -P"
that issue was apparently fixed and i haven't needed to do that for
a while. however, i'm now using someone's custom version of OE-core and that very error is back, so what was it that was tweaked to deal with it? thanks.
see this commit in fido:
commit 3a5435b371c84ec28b6936b8c8fa6541a592d061
Author: Martin Stolpe <[email protected]> Date: Wed Jun 10 16:28:26 2015 +0200
ncurses: fix native builds when host has gcc5
GCC"s preprocessor starts to add newlines which are not handled properly by ncurses build system startin from version 5.0.
See also: https://bugzilla.yoctoproject.org/show_bug.cgi?id=7870
In master it's probably been solved by updating ncurses.
Regards,
Andreas
Quoted 48 lines · Andreas Oberritter
Hello Robert,
Quoted 24 lines · Robert P. J. Day
once upon a time, i asked a question about the origin of this OE
build error using gcc-5 to build ncurses-native:Quoted 1 line
In file included from
/home/rpjday/oe/builds/oe/qemux86/tmp-glibc/work/x86_64-linux/ncurses-native/5.9-r15.1/ncurses-5.9/ncurses/curses.priv.h:283:0,Quoted 3 lines
from ../ncurses/lib_gen.c:19:_20141.c:835:15: error: expected ')' before 'int'
../include/curses.h:1594:56: note: in definition of macro'
mouse_trafo'Quoted 1 line
#define
mouse_trafo(y,x,to_screen)
wmouse_trafo(stdscr,y,x,to_screen)it didn't take long to be pointed to an explanation on the fedora
mailing list:http://lists.openembedded.org/pipermail/openembedded-core/2015-February/101820.html
" these packages failed to build because of the changes in the preprocessor;
gcc started to generate line directives to better detect whether a macro tokens come from a system header - see http://gcc.gnu.org/PR60723
The fix is to use the -P option if the code isn't prepared to deal with such directives.Quoted 8 lines
so i just added to my local.conf:
CPPFLAGS_append_pn-ncurses-native = " -P"
that issue was apparently fixed and i haven't needed to do that for
a while. however, i'm now using someone's custom version of OE-core and that very error is back, so what was it that was tweaked to deal with it? thanks.see this commit in fido:
commit
3a5435b371c84ec28b6936b8c8fa6541a592d061Author: Martin Stolpe <[email protected]> Date: Wed Jun 10 16:28:26 2015 +0200ncurses: fix native builds when host has gcc5
GCC"s preprocessor starts to add newlines which are not handled properly by ncurses build system startin from version 5.0.
Quoted 6 lines
See also: https://bugzilla.yoctoproject.org/show_bug.cgi?id=7870
Signed-off-by Martin Stolpe <[email protected]>Signed-off-by Joshua Lock <[email protected]>In master it's probably been solved by updating ncurses.
ah, that's pretty much the hackaround i used once upon a time, and i
can see that that patch is not in the vendor-specific OE-Core layer i was given. so that definitely explains that problem. thanks.
rday
Signature · 7 lines
========================================================================
Robert P. J. Day Ottawa, Ontario, CANADA
http://crashcourse.ca
Twitter: http://twitter.com/rpjday
LinkedIn: http://ca.linkedin.com/in/rpjday
========================================================================