From ce49cf495276c737fe95725da8f0773742fb838d Mon Sep 17 00:00:00 2001 From: Mike Gilbert Date: Thu, 18 May 2023 15:04:17 -0400 Subject: [PATCH] Move JSON_CFLAGS before LIBPROXY_CFLAGS Depending on build options, libproxy-1.0.pc depends indirectly on json-c.pc: libproxy-1.0 -> gio-2.0 -> mount -> libcryptsetup -> json-c This causes "pkg-config --cflags libproxy-1.0" to emit "-I/usr/include/json-c". json-c installs a "json.h" file that conflicts with the one provided by json-parser. If json-c comes before json-parser on the compiler command, we get a build failure: openconnect-internal.h:1654:59: error: unknown type name 'json_value' [ dwmw2: This is a combination of at *least* three different bugs in three different packages conspiring to be my problem. See https://gitlab.com/openconnect/openconnect/-/merge_requests/476#note_1397129468 But still, working around it does no harm for now. Ironically, if the presence of json-c on the include path wasn't *entirely* gratuitous then hiding it by putting it last wouldn't actually work because then something would fail to include the json-c version of instead. ] Bug: https://bugs.gentoo.org/906662 Signed-off-by: Mike Gilbert Signed-off-by: David Woodhouse --- Makefile.am | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Makefile.am b/Makefile.am index 495b46f2..a09c0614 100644 --- a/Makefile.am +++ b/Makefile.am @@ -128,10 +128,10 @@ endif libopenconnect_la_SOURCES = version.c $(library_srcs) libopenconnect_la_CFLAGS = $(AM_CFLAGS) $(SSL_CFLAGS) $(DTLS_SSL_CFLAGS) \ - $(LIBXML2_CFLAGS) $(LIBPROXY_CFLAGS) $(ZLIB_CFLAGS) $(P11KIT_CFLAGS) \ - $(TSS_CFLAGS) $(LIBSTOKEN_CFLAGS) $(LIBPSKC_CFLAGS) $(GSSAPI_CFLAGS) \ - $(INTL_CFLAGS) $(ICONV_CFLAGS) $(LIBPCSCLITE_CFLAGS) $(LIBP11_CFLAGS) \ - $(LIBLZ4_CFLAGS) $(JSON_CFLAGS) + $(LIBXML2_CFLAGS) $(JSON_CFLAGS) $(LIBPROXY_CFLAGS) $(ZLIB_CFLAGS) \ + $(P11KIT_CFLAGS) $(TSS_CFLAGS) $(LIBSTOKEN_CFLAGS) $(LIBPSKC_CFLAGS) \ + $(GSSAPI_CFLAGS) $(INTL_CFLAGS) $(ICONV_CFLAGS) $(LIBPCSCLITE_CFLAGS) \ + $(LIBP11_CFLAGS) $(LIBLZ4_CFLAGS) libopenconnect_la_LIBADD = $(SSL_LIBS) $(DTLS_SSL_LIBS) \ $(LIBXML2_LIBS) $(LIBPROXY_LIBS) $(ZLIB_LIBS) $(P11KIT_LIBS) \ $(TSS_LIBS) $(LIBSTOKEN_LIBS) $(LIBPSKC_LIBS) $(GSSAPI_LIBS) \ -- GitLab