Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH] [autobuild] package/setools: fix buid without wchar
@ 2015-08-13 19:54 Yann E. MORIN
  2015-08-14 14:12 ` Baruch Siach
  2015-08-18  9:37 ` Thomas Petazzoni
  0 siblings, 2 replies; 3+ messages in thread
From: Yann E. MORIN @ 2015-08-13 19:54 UTC (permalink / raw)
  To: buildroot

Fixes:
    http://autobuild.buildroot.org/results/051/051a7f72ebadd56407700c22b57e942f08eb1c09/
    http://autobuild.buildroot.org/results/a4b/a4b2a6f1920430af43c23239de17200e70951b3b/
    ...

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Matt Weber <matthew.weber@rockwellcollins.com>
Cc: Clayton Shotwell <clayton.shotwell@rockwellcollins.com>
---
 package/setools/0003-no-wchar-needed.patch | 45 ++++++++++++++++++++++++++++++
 1 file changed, 45 insertions(+)
 create mode 100644 package/setools/0003-no-wchar-needed.patch

diff --git a/package/setools/0003-no-wchar-needed.patch b/package/setools/0003-no-wchar-needed.patch
new file mode 100644
index 0000000..8b9ea9f
--- /dev/null
+++ b/package/setools/0003-no-wchar-needed.patch
@@ -0,0 +1,45 @@
+configure: do not use wchar_t in tests
+
+setools does not use widechars for itself, so should build on toolchains
+missing widechars (uClibc).
+
+Unfortunately, one of the m4 macros does use wchar_t to check C99,
+completely unrelated to widechar support, thus making it believe C99 is
+not available in the compiler:
+
+    http://autobuild.buildroot.org/results/051/051a7f72ebadd56407700c22b57e942f08eb1c09/build-end.log
+
+    configure:4899: checking for /home/peko/autobuild/instance-1/output/host/usr/bin/powerpc-linux-gcc option to accept ISO C99
+    [--skip test without flags--]
+    configure:5048: /home/peko/autobuild/instance-1/output/host/usr/bin/powerpc-linux-gcc -std=gnu99 -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64   -Os  -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5
+    conftest.c:69:9: error: unknown type name 'wchar_t'
+       const wchar_t *name;
+             ^
+    conftest.c: In function 'main':
+    conftest.c:146:5: warning: initialization from incompatible pointer type
+         .name = L"Test wide string",
+         ^
+
+Thus, just remove any widechar from the test.
+
+Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
+
+diff -durN setools-3.3.8.orig/m4/c.m4 setools-3.3.8/m4/c.m4
+--- setools-3.3.8.orig/m4/c.m4	2013-01-16 17:36:22.000000000 +0100
++++ setools-3.3.8/m4/c.m4	2015-08-13 21:37:35.795071941 +0200
+@@ -157,7 +157,6 @@
+ 
+ struct named_init {
+   int number;
+-  const wchar_t *name;
+   double average;
+ };
+ 
+@@ -231,7 +230,6 @@
+   // Check named initializers.
+   struct named_init ni = {
+     .number = 34,
+-    .name = L"Test wide string",
+     .average = 543.34343,
+   };
+ 
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [Buildroot] [PATCH] [autobuild] package/setools: fix buid without wchar
  2015-08-13 19:54 [Buildroot] [PATCH] [autobuild] package/setools: fix buid without wchar Yann E. MORIN
@ 2015-08-14 14:12 ` Baruch Siach
  2015-08-18  9:37 ` Thomas Petazzoni
  1 sibling, 0 replies; 3+ messages in thread
From: Baruch Siach @ 2015-08-14 14:12 UTC (permalink / raw)
  To: buildroot

Hi Yann,

On Thu, Aug 13, 2015 at 09:54:41PM +0200, Yann E. MORIN wrote:
> Fixes:
>     http://autobuild.buildroot.org/results/051/051a7f72ebadd56407700c22b57e942f08eb1c09/
>     http://autobuild.buildroot.org/results/a4b/a4b2a6f1920430af43c23239de17200e70951b3b/
>     ...
> 
> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
> Cc: Matt Weber <matthew.weber@rockwellcollins.com>
> Cc: Clayton Shotwell <clayton.shotwell@rockwellcollins.com>
> ---
>  package/setools/0003-no-wchar-needed.patch | 45 ++++++++++++++++++++++++++++++
>  1 file changed, 45 insertions(+)
>  create mode 100644 package/setools/0003-no-wchar-needed.patch
> 
> diff --git a/package/setools/0003-no-wchar-needed.patch b/package/setools/0003-no-wchar-needed.patch
> new file mode 100644
> index 0000000..8b9ea9f
> --- /dev/null
> +++ b/package/setools/0003-no-wchar-needed.patch
> @@ -0,0 +1,45 @@
> +configure: do not use wchar_t in tests
> +
> +setools does not use widechars for itself, so should build on toolchains
> +missing widechars (uClibc).
> +
> +Unfortunately, one of the m4 macros does use wchar_t to check C99,
> +completely unrelated to widechar support, thus making it believe C99 is
> +not available in the compiler:
> +
> +    http://autobuild.buildroot.org/results/051/051a7f72ebadd56407700c22b57e942f08eb1c09/build-end.log
> +
> +    configure:4899: checking for /home/peko/autobuild/instance-1/output/host/usr/bin/powerpc-linux-gcc option to accept ISO C99
> +    [--skip test without flags--]
> +    configure:5048: /home/peko/autobuild/instance-1/output/host/usr/bin/powerpc-linux-gcc -std=gnu99 -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64   -Os  -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5
> +    conftest.c:69:9: error: unknown type name 'wchar_t'
> +       const wchar_t *name;
> +             ^
> +    conftest.c: In function 'main':
> +    conftest.c:146:5: warning: initialization from incompatible pointer type
> +         .name = L"Test wide string",
> +         ^
> +
> +Thus, just remove any widechar from the test.
> +
> +Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
> +
> +diff -durN setools-3.3.8.orig/m4/c.m4 setools-3.3.8/m4/c.m4
> +--- setools-3.3.8.orig/m4/c.m4	2013-01-16 17:36:22.000000000 +0100
> ++++ setools-3.3.8/m4/c.m4	2015-08-13 21:37:35.795071941 +0200

The _AUTORECONF comment needs an update.

> +@@ -157,7 +157,6 @@
> + 
> + struct named_init {
> +   int number;
> +-  const wchar_t *name;
> +   double average;
> + };
> + 
> +@@ -231,7 +230,6 @@
> +   // Check named initializers.
> +   struct named_init ni = {
> +     .number = 34,
> +-    .name = L"Test wide string",
> +     .average = 543.34343,
> +   };

baruch

-- 
     http://baruch.siach.name/blog/                  ~. .~   Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
   - baruch at tkos.co.il - tel: +972.2.679.5364, http://www.tkos.co.il -

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [Buildroot] [PATCH] [autobuild] package/setools: fix buid without wchar
  2015-08-13 19:54 [Buildroot] [PATCH] [autobuild] package/setools: fix buid without wchar Yann E. MORIN
  2015-08-14 14:12 ` Baruch Siach
@ 2015-08-18  9:37 ` Thomas Petazzoni
  1 sibling, 0 replies; 3+ messages in thread
From: Thomas Petazzoni @ 2015-08-18  9:37 UTC (permalink / raw)
  To: buildroot

Yann,

On Thu, 13 Aug 2015 21:54:41 +0200, Yann E. MORIN wrote:
> Fixes:
>     http://autobuild.buildroot.org/results/051/051a7f72ebadd56407700c22b57e942f08eb1c09/
>     http://autobuild.buildroot.org/results/a4b/a4b2a6f1920430af43c23239de17200e70951b3b/
>     ...
> 
> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
> Cc: Matt Weber <matthew.weber@rockwellcollins.com>
> Cc: Clayton Shotwell <clayton.shotwell@rockwellcollins.com>
> ---
>  package/setools/0003-no-wchar-needed.patch | 45 ++++++++++++++++++++++++++++++
>  1 file changed, 45 insertions(+)
>  create mode 100644 package/setools/0003-no-wchar-needed.patch
> 
> diff --git a/package/setools/0003-no-wchar-needed.patch b/package/setools/0003-no-wchar-needed.patch
> new file mode 100644
> index 0000000..8b9ea9f
> --- /dev/null
> +++ b/package/setools/0003-no-wchar-needed.patch
> @@ -0,0 +1,45 @@
> +configure: do not use wchar_t in tests
> +
> +setools does not use widechars for itself, so should build on toolchains
> +missing widechars (uClibc).
> +
> +Unfortunately, one of the m4 macros does use wchar_t to check C99,
> +completely unrelated to widechar support, thus making it believe C99 is
> +not available in the compiler:

I am not really fan of this change. This c.m4 file is in fact
copy/pasted (partially) from the autoconf sources themselves, where the
same macro does test for wchar support as part of the C99 test.

Therefore, I'm a bit reluctant to change this macro originating from
the autoconf sources, and I think we should instead just make the
package depend on wchar support.

It is not clear whether C99 requires wchar support or not, I couldn't
find a very clear statement about this. But the implementation of this
macro, which explicitly includes <wchar.h> and uses a wide string
initializer, seems to say so. If not, can you raise the problem to the
autoconf developers?

In the mean time, a patch making setools only available for
wchar-capable toolchains would be preferred. In general, if there is no
easily upstreamable solution to avoid a toolchain dependency, I prefer
to have the toolchain dependency than a non-upstreamable patch.
Especially for "big" stuff like SELinux, that are unlikely to be used
in a non-wchar enabled configuration.

Thanks,

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2015-08-18  9:37 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-08-13 19:54 [Buildroot] [PATCH] [autobuild] package/setools: fix buid without wchar Yann E. MORIN
2015-08-14 14:12 ` Baruch Siach
2015-08-18  9:37 ` Thomas Petazzoni

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox