lxc: fix build with static libcap and shared gnutls
Fixes: - http://autobuild.buildroot.net/results/b655d6853c25a195df28d91512b3ffb6c654fc90 Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> [Thomas: - add Upstream-status - use proper numbering] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
This commit is contained in:
parent
ba33728bc3
commit
8dda21a523
@ -0,0 +1,73 @@
|
||||
From 49bc916b1daa79cffe38fae32059bcdd985c8c8e Mon Sep 17 00:00:00 2001
|
||||
From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
|
||||
Date: Sat, 7 Apr 2018 15:48:46 +0200
|
||||
Subject: [PATCH] Fix compilation with static libcap and shared gnutls
|
||||
|
||||
Commit c06ed219c47098f34485d408410b6ecc94a40877 has broken
|
||||
compilation with a static libcap and a shared gnutls.
|
||||
This results in a build failure on init_lxc_static if gnutls is
|
||||
a shared library as init_lxc_static is built with -all-static option
|
||||
(see src/lxc/Makefile.am) and AC_CHECK_LIB adds gnutls to LIBS.
|
||||
|
||||
This commit fix the issue by removing default behavior of AC_CHECK_LIB
|
||||
and handling manually GNUTLS_LIBS and HAVE_LIBGNUTLS
|
||||
|
||||
Fixes:
|
||||
- http://autobuild.buildroot.net/results/b655d6853c25a195df28d91512b3ffb6c654fc90
|
||||
|
||||
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
|
||||
Upstream-status: https://github.com/lxc/lxc/commit/49bc916b1daa79cffe38fae32059bcdd985c8c8e
|
||||
---
|
||||
configure.ac | 2 +-
|
||||
src/lxc/Makefile.am | 8 ++++++--
|
||||
2 files changed, 7 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 50c99836..2467bb54 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -263,7 +263,7 @@ AM_CONDITIONAL([ENABLE_GNUTLS], [test "x$enable_gnutls" = "xyes"])
|
||||
|
||||
AM_COND_IF([ENABLE_GNUTLS],
|
||||
[AC_CHECK_HEADER([gnutls/gnutls.h],[],[AC_MSG_ERROR([You must install the GnuTLS development package in order to compile lxc])])
|
||||
- AC_CHECK_LIB([gnutls], [gnutls_hash_fast],[],[AC_MSG_ERROR([You must install the GnuTLS development package in order to compile lxc])])
|
||||
+ AC_CHECK_LIB([gnutls], [gnutls_hash_fast],[true],[AC_MSG_ERROR([You must install the GnuTLS development package in order to compile lxc])])
|
||||
AC_SUBST([GNUTLS_LIBS], [-lgnutls])])
|
||||
|
||||
# SELinux
|
||||
diff --git a/src/lxc/Makefile.am b/src/lxc/Makefile.am
|
||||
index c8d76836..0662d83d 100644
|
||||
--- a/src/lxc/Makefile.am
|
||||
+++ b/src/lxc/Makefile.am
|
||||
@@ -175,6 +175,10 @@ if ENABLE_APPARMOR
|
||||
AM_CFLAGS += -DHAVE_APPARMOR
|
||||
endif
|
||||
|
||||
+if ENABLE_GNUTLS
|
||||
+AM_CFLAGS += -DHAVE_LIBGNUTLS
|
||||
+endif
|
||||
+
|
||||
if ENABLE_SELINUX
|
||||
AM_CFLAGS += -DHAVE_SELINUX
|
||||
endif
|
||||
@@ -196,7 +200,7 @@ liblxc_la_LDFLAGS = \
|
||||
-Wl,-soname,liblxc.so.$(firstword $(subst ., ,@LXC_ABI@)) \
|
||||
-version-info @LXC_ABI_MAJOR@
|
||||
|
||||
-liblxc_la_LIBADD = $(CAP_LIBS) $(SELINUX_LIBS) $(SECCOMP_LIBS)
|
||||
+liblxc_la_LIBADD = $(CAP_LIBS) $(GNUTLS_LIBS) $(SELINUX_LIBS) $(SECCOMP_LIBS)
|
||||
|
||||
bin_SCRIPTS=
|
||||
|
||||
@@ -243,7 +247,7 @@ AM_LDFLAGS = -Wl,-E
|
||||
if ENABLE_RPATH
|
||||
AM_LDFLAGS += -Wl,-rpath -Wl,$(libdir)
|
||||
endif
|
||||
-LDADD=liblxc.la @CAP_LIBS@ @SELINUX_LIBS@ @SECCOMP_LIBS@
|
||||
+LDADD=liblxc.la @CAP_LIBS@ @GNUTLS_LIBS@ @SELINUX_LIBS@ @SECCOMP_LIBS@
|
||||
|
||||
if ENABLE_TOOLS
|
||||
lxc_attach_SOURCES = tools/lxc_attach.c tools/arguments.c tools/tool_utils.c
|
||||
--
|
||||
2.14.1
|
||||
|
Loading…
Reference in New Issue
Block a user