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 "<toolchain-cc -o test test.c" with
the following test program:
#include <ctype.h>
#define wchar_t char
#include <stddef.h>
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 <casantos@datacom.ind.br>
#include <getopt.h>
#include "nls.h"
-#include "widechar.h"
#include "c.h"
+#include "widechar.h"
#include "closestream.h"
/*
#include <unistd.h>
#include "nls.h"
-#include "widechar.h"
#include "strutils.h"
#include "c.h"
+#include "widechar.h"
#include "closestream.h"
/*
#include <getopt.h>
#include "nls.h"
-#include "widechar.h"
#include "c.h"
+#include "widechar.h"
#include "xalloc.h"
#include "strutils.h"
#include "closestream.h"