From 961f13eedf461499c7fbb9c1c2bdff9f8b01d079 Mon Sep 17 00:00:00 2001 From: Carlos Santos Date: Sun, 22 Jan 2017 01:15:42 -0200 Subject: [PATCH] util-linux: fix ncurses/wchar handling (again) Since commit 006a328ad6bed214ec3c4d92120510ea37329dd1 ("util-linux: fix build with ncurses"), we have a build failure that occurs with musl and uClibc-ng toolchains when wide-char support is not enabled in ncurses. The problem occurs because util-linux #defines its own wchar_t (as char) when configured without widechar support. It was fixed upstream, so pull the corresponding patch from the util-linux git repository. Fixes: http://autobuild.buildroot.net/results/3a2f228e0fa7b5cc28a13d49f48f1a6aef8d9d7a http://autobuild.buildroot.net/results/99e96069f652d511c6212a5bb6be29e68fb1747c http://autobuild.buildroot.net/results/2dc5721aef93b7b410153bafad78248fac3db941 http://autobuild.buildroot.net/results/8a9e197ba7a292b18f8c0c36dca974685556a38a Signed-off-by: Carlos Santos Signed-off-by: Thomas Petazzoni --- ...mpilation-with-ncurses-and-uClibc-or.patch | 92 +++++++++++++++++++ 1 file changed, 92 insertions(+) create mode 100644 package/util-linux/0003-build-sys-fix-compilation-with-ncurses-and-uClibc-or.patch diff --git a/package/util-linux/0003-build-sys-fix-compilation-with-ncurses-and-uClibc-or.patch b/package/util-linux/0003-build-sys-fix-compilation-with-ncurses-and-uClibc-or.patch new file mode 100644 index 0000000000..2a1e56dfe9 --- /dev/null +++ b/package/util-linux/0003-build-sys-fix-compilation-with-ncurses-and-uClibc-or.patch @@ -0,0 +1,92 @@ +From 9ea8ded37b648bbd538cbf9c4d144b8b1a93c1b5 Mon Sep 17 00:00:00 2001 +From: Carlos Santos +Date: Thu, 19 Jan 2017 17:27:37 -0200 +Subject: [PATCH] build-sys: fix compilation with ncurses and uClibc or musl + libc + +Compiling util-linux with musl and uClibc-ng toolchains when wide-char +support is not enabled in ncurses results in compilation failures with +the following message: + + error: two or more data types in declaration specifiers + #define + wchar_t char + +The problem occurs because util-linux #defines its own wchar_t (as char) +when configured without widechar support. This conflicts with definition +of wchar_t contained in stddef.h. + +This error can be reproduced running " + #define wchar_t char + #include + + int main() + { + return 0; + } + +The only way to avoid the problem it to reorder the inclusion of headers +in some files under the text-utils directory. + +Addresses: + http://autobuild.buildroot.net/results/3a2f228e0fa7b5cc28a13d49f48f1a6aef8d9d7a + http://autobuild.buildroot.net/results/99e96069f652d511c6212a5bb6be29e68fb1747c + http://autobuild.buildroot.net/results/2dc5721aef93b7b410153bafad78248fac3db941 + http://autobuild.buildroot.net/results/8a9e197ba7a292b18f8c0c36dca974685556a38a + +Signed-off-by: Carlos Santos +--- + text-utils/colcrt.c | 2 +- + text-utils/colrm.c | 2 +- + text-utils/column.c | 2 +- + 3 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/text-utils/colcrt.c b/text-utils/colcrt.c +index c6bba4b..346a10f 100644 +--- a/text-utils/colcrt.c ++++ b/text-utils/colcrt.c +@@ -46,8 +46,8 @@ + #include + + #include "nls.h" +-#include "widechar.h" + #include "c.h" ++#include "widechar.h" + #include "closestream.h" + + /* +diff --git a/text-utils/colrm.c b/text-utils/colrm.c +index 9510b72..d474696 100644 +--- a/text-utils/colrm.c ++++ b/text-utils/colrm.c +@@ -44,9 +44,9 @@ + #include + + #include "nls.h" +-#include "widechar.h" + #include "strutils.h" + #include "c.h" ++#include "widechar.h" + #include "closestream.h" + + /* +diff --git a/text-utils/column.c b/text-utils/column.c +index 43b3af5..2eb47a3 100644 +--- a/text-utils/column.c ++++ b/text-utils/column.c +@@ -50,8 +50,8 @@ + #include + + #include "nls.h" +-#include "widechar.h" + #include "c.h" ++#include "widechar.h" + #include "xalloc.h" + #include "strutils.h" + #include "closestream.h" +-- +2.7.4 + -- 2.30.2