czmq: add patch to fix build issue with recent glibc
authorThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Tue, 9 Sep 2014 21:41:29 +0000 (23:41 +0200)
committerPeter Korsgaard <peter@korsgaard.com>
Wed, 10 Sep 2014 07:40:15 +0000 (09:40 +0200)
glibc 2.20 is now warning when _BSD_SOURCE is used (as it's replaced
by _DEFAULT_SOURCE), and czmq has the bad idea of forcing the usage of
-Werror, causing build issues with the recent NIOS II toolchain based
on glibc 2.20.

This commit adds a patch to czmq to fix that. The patch has been
submitted upstream.

Fixes:

  http://autobuild.buildroot.org/results/64a/64a7eef2155248146e7f3a55e85fe60bc5b67791/

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
package/czmq/czmq-0001-Use-_DEFAULT_SOURCE-instead-of-_BSD_SOURCE.patch [new file with mode: 0644]

diff --git a/package/czmq/czmq-0001-Use-_DEFAULT_SOURCE-instead-of-_BSD_SOURCE.patch b/package/czmq/czmq-0001-Use-_DEFAULT_SOURCE-instead-of-_BSD_SOURCE.patch
new file mode 100644 (file)
index 0000000..cef187a
--- /dev/null
@@ -0,0 +1,53 @@
+From 04be584035b4d9b6a61fd748b6d21c92c6bb9694 Mon Sep 17 00:00:00 2001
+From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+Date: Tue, 9 Sep 2014 23:36:10 +0200
+Subject: [PATCH] Use _DEFAULT_SOURCE instead of _BSD_SOURCE
+
+Since glibc 2.20, using _BSD_SOURCE triggers a warning, and since czmq
+uses -Werror, it aborts the build:
+
+  CC       zchunk.lo
+In file included from /home/thomas/projets/buildroot/output/host/usr/nios2-buildroot-linux-gnu/sysroot/usr/include/ctype.h:25:0,
+                 from ../include/czmq_prelude.h:203,
+                 from ../include/czmq.h:19,
+                 from zauth.c:25:
+/home/thomas/projets/buildroot/output/host/usr/nios2-buildroot-linux-gnu/sysroot/usr/include/features.h:148:3: error: #warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" [-Werror=cpp]
+ # warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE"
+   ^
+
+See the glibc 2.20 release notes, https://lwn.net/Articles/611162/,
+explaining the change about _BSD_SOURCE:
+
+* The _BSD_SOURCE and _SVID_SOURCE feature test macros are no longer
+  supported; they now act the same as _DEFAULT_SOURCE (but generate a
+  warning).  Except for cases where _BSD_SOURCE enabled BSD interfaces that
+  conflicted with POSIX (support for which was removed in 2.19), the
+  interfaces those macros enabled remain available when compiling with
+  _GNU_SOURCE defined, with _DEFAULT_SOURCE defined, or without any feature
+  test macros defined.
+
+Submitted upstream: https://github.com/zeromq/czmq/pull/648
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+---
+ include/czmq_prelude.h | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/include/czmq_prelude.h b/include/czmq_prelude.h
+index 8b4b53d..f77add2 100644
+--- a/include/czmq_prelude.h
++++ b/include/czmq_prelude.h
+@@ -152,8 +152,8 @@
+ #   ifndef __NO_CTYPE
+ #   define __NO_CTYPE                   //  Suppress warnings on tolower()
+ #   endif
+-#   ifndef _BSD_SOURCE
+-#   define _BSD_SOURCE                  //  Include stuff from 4.3 BSD Unix
++#   ifndef _DEFAULT_SOURCE
++#   define _DEFAULT_SOURCE                  //  Include stuff from 4.3 BSD Unix
+ #   endif
+ #elif (defined (Mips))
+ #   define __UTYPE_MIPS
+-- 
+2.0.0
+