[Buildroot] [git commit] package/ncurses: Fix GCC 5.x preprocessor failure

Peter Korsgaard peter at korsgaard.com
Sun May 31 20:32:23 UTC 2015


commit: http://git.buildroot.net/buildroot/commit/?id=4297e7298edbef6dde75d8bf468441c6a242da5c
branch: http://git.buildroot.net/buildroot/commit/?id=refs/heads/master

Building ncurses 5.9 with GCC 5.x fails with a syntax error, caused by
earlier preprocessing. This failure is more likely when building for
host (e.g. host-ncurses) that recently updated to GCC 5.x.

This patch is taken from the following link (more information is also
available here):
https://groups.google.com/forum/#!topic/sage-trac/U31shviuqzk

Signed-off-by: Doug Kehn <rdkehn at yahoo.com>
Acked-by: Jaap Crezee <jaap at jcz.nl>
Tested-by: Jaap Crezee <jaap at jcz.nl>
Signed-off-by: Peter Korsgaard <peter at korsgaard.com>
---
 package/ncurses/0002-gcc-5.x-MKlib_gen.patch |   33 ++++++++++++++++++++++++++
 1 files changed, 33 insertions(+), 0 deletions(-)

diff --git a/package/ncurses/0002-gcc-5.x-MKlib_gen.patch b/package/ncurses/0002-gcc-5.x-MKlib_gen.patch
new file mode 100644
index 0000000..0771208
--- /dev/null
+++ b/package/ncurses/0002-gcc-5.x-MKlib_gen.patch
@@ -0,0 +1,33 @@
+Fix GCC 5.x preprocessor failure
+
+Building ncurses 5.9 with GCC 5.x fails with a syntax error, caused by
+earlier preprocessing. This failure is more likely when building for
+host (e.g. host-ncurses) that recently updated to GCC 5.x.
+
+This patch is taken from the following link (more information is also
+available here):
+https://groups.google.com/forum/#!topic/sage-trac/U31shviuqzk
+
+Signed-off-by: Doug Kehn <rdkehn at yahoo.com>
+
+Index: b/ncurses/base/MKlib_gen.sh
+===================================================================
+--- a/ncurses/base/MKlib_gen.sh
++++ b/ncurses/base/MKlib_gen.sh
+@@ -62,7 +62,15 @@ if test "${LC_MESSAGES+set}" = set; then
+ if test "${LC_CTYPE+set}"    = set; then LC_CTYPE=C;    export LC_CTYPE;    fi
+ if test "${LC_COLLATE+set}"  = set; then LC_COLLATE=C;  export LC_COLLATE;  fi
+ 
+-preprocessor="$1 -DNCURSES_INTERNALS -I../include"
++# Work around "unexpected" output of GCC 5.1.0's cpp w.r.t. #line directives
++# by simply suppressing them:
++case `$1 -dumpversion 2>/dev/null` in
++	5.[01].*)  # assume a "broken" one
++		preprocessor="$1 -P -DNCURSES_INTERNALS -I../include"
++		;;
++	*)
++		preprocessor="$1 -DNCURSES_INTERNALS -I../include"
++esac
+ AWK="$2"
+ USE="$3"
+ 


More information about the buildroot mailing list