[Buildroot] [PATCH] libgpgme: fix musl build with argp-standalone

Baruch Siach baruch at tkos.co.il
Tue May 24 12:30:17 UTC 2016


The libgpgme configure script does not detect the error_t type under musl,
because musl does not define error_t in errno.h. As a result config.h adds a
local definition of error_t. When argp-standalone is present this local
definition collides with the error_t typedef in argp.h. Assume we always have
error_t when argp-standalone is present.

Fixes:
http://autobuild.buildroot.net/results/656/6566a1c77983404d90920997bfd15bd98c7ddde7/
http://autobuild.buildroot.net/results/a7b/a7b92ad68ff6e13d20ff44e955dc5748b2efd6a4/
http://autobuild.buildroot.net/results/0db/0db1b2aa0969d6cbae57b1400b7b766a5988abf9/

Signed-off-by: Baruch Siach <baruch at tkos.co.il>
---
 package/libgpgme/libgpgme.mk | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/package/libgpgme/libgpgme.mk b/package/libgpgme/libgpgme.mk
index 186809985ca4..574ddd6be14d 100644
--- a/package/libgpgme/libgpgme.mk
+++ b/package/libgpgme/libgpgme.mk
@@ -23,7 +23,9 @@ LIBGPGME_CONF_OPTS = --with-gpg=/usr/bin/gpg \
 
 # Handle argp-standalone or it errors out during build
 ifeq ($(BR2_PACKAGE_ARGP_STANDALONE),y)
-LIBGPGME_CONF_ENV += LIBS="-largp"
+# musl libc does not define error_t in errno.h, but argp.h does.
+# Assume we have error_t to avoid collision with the argp.h error_t.
+LIBGPGME_CONF_ENV += LIBS="-largp" ac_cv_type_error_t=yes
 LIBGPGME_DEPENDENCIES += argp-standalone
 endif
 
-- 
2.8.1



More information about the buildroot mailing list