Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Philippe Proulx <eeppeliteloop@gmail.com>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH] lttng-babeltrace: fix static build again
Date: Fri,  4 Nov 2016 12:41:37 -0400	[thread overview]
Message-ID: <20161104164137.19006-1-eeppeliteloop@gmail.com> (raw)

I accidentally removed the static build patch when bumping to v1.4.0,
thinking it was merged upstream as of this version, but it's not the
case (it's merged in master), so let's keep the patch file.

Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
---
 ...ix-uuid-support-detection-on-static-build.patch | 86 ++++++++++++++++++++++
 package/lttng-babeltrace/lttng-babeltrace.mk       |  4 +-
 2 files changed, 89 insertions(+), 1 deletion(-)
 create mode 100644 package/lttng-babeltrace/0003-fix-uuid-support-detection-on-static-build.patch

diff --git a/package/lttng-babeltrace/0003-fix-uuid-support-detection-on-static-build.patch b/package/lttng-babeltrace/0003-fix-uuid-support-detection-on-static-build.patch
new file mode 100644
index 0000000..875aa88
--- /dev/null
+++ b/package/lttng-babeltrace/0003-fix-uuid-support-detection-on-static-build.patch
@@ -0,0 +1,86 @@
+From 2741f55be80ae8af169ae795ea28d2a39c18fa60 Mon Sep 17 00:00:00 2001
+From: Samuel Martin <s.martin49@gmail.com>
+Date: Wed, 1 Jun 2016 21:56:32 +0200
+Subject: [PATCH] configure: fix uuid support detection on static build
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+This change adds uuid detection using pkg-config helper before falling
+back on the standard AC_CHECK_LIB detection for platforms missing
+pkg-config.
+
+AC_CHECK_LIB function achieves its test by trying to link against the
+requested library, without taking care of its dependency
+requirements/flags that may differ between different targets.
+Therefore, in case of static build, it can fail on the uuid detection
+like [1], because the uuid's dependency flags (regarding gettext) are
+missing.
+
+Instead, using pkg-config to do the check will take care of getting and
+setting all required flags.
+
+This issue [1] has been triggered on Buildroot farms.
+
+[1] http://autobuild.buildroot.net/results/43b/43b98ddf9eb44152ed9ac4a98d887af14831d8da/build-end.log
+
+Signed-off-by: Samuel Martin <s.martin49@gmail.com>
+Signed-off-by: J?r?mie Galarneau <jeremie.galarneau@efficios.com>
+[Philippe: grabbed from this upstream patch:
+    https://github.com/efficios/babeltrace/commit/2741f55be80ae8af169ae795ea28d2a39c18fa60.patch
+]
+Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
+---
+ configure.ac | 31 +++++++++++++++++++++----------
+ 1 file changed, 21 insertions(+), 10 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 84f9000..2f5e3f8 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -163,24 +163,35 @@ AC_CHECK_FUNCS([uuid_generate],
+   link_with_libuuid=no
+ ],
+ [
+-  # Check for libuuid
+-  AC_CHECK_LIB([uuid], [uuid_generate],
++  # First, check the pkg-config module is available, otherwise explicitly check
++  # for libuuid, or uuid support in the C-library.
++  PKG_CHECK_MODULES([UUID], [uuid],
+   [
++    LIBS="${UUID_LIBS} ${LIBS}"
++    CFLAGS="${CFLAGS} ${UUID_CFLAGS}"
+     AC_DEFINE_UNQUOTED([BABELTRACE_HAVE_LIBUUID], 1, [Has libuuid support.])
+     link_with_libuuid=yes
+   ],
+   [
+-    # libuuid not found, check for uuid_create in libc.
+-    AC_CHECK_LIB([c], [uuid_create],
++    # Check for libuuid
++    AC_CHECK_LIB([uuid], [uuid_generate],
+     [
+-      AC_DEFINE_UNQUOTED([BABELTRACE_HAVE_LIBC_UUID], 1, [Has libc uuid support.])
+-      link_with_libc_uuid=yes
++      AC_DEFINE_UNQUOTED([BABELTRACE_HAVE_LIBUUID], 1, [Has libuuid support.])
++      link_with_libuuid=yes
+     ],
+     [
+-      # for MinGW32 we have our own internal implemenation of uuid using Windows functions.
+-      if test "x$MINGW32" = xno; then
+-        AC_MSG_ERROR([Cannot find libuuid uuid_generate nor libc uuid_create. Use [LDFLAGS]=-Ldir to specify their location.])
+-      fi
++      # libuuid not found, check for uuid_create in libc.
++      AC_CHECK_LIB([c], [uuid_create],
++      [
++        AC_DEFINE_UNQUOTED([BABELTRACE_HAVE_LIBC_UUID], 1, [Has libc uuid support.])
++        link_with_libc_uuid=yes
++      ],
++      [
++        # for MinGW32 we have our own internal implemenation of uuid using Windows functions.
++        if test "x$MINGW32" = xno; then
++          AC_MSG_ERROR([Cannot find libuuid uuid_generate nor libc uuid_create. Use [LDFLAGS]=-Ldir to specify their location.])
++        fi
++      ])
+     ])
+   ])
+ ])
diff --git a/package/lttng-babeltrace/lttng-babeltrace.mk b/package/lttng-babeltrace/lttng-babeltrace.mk
index 59327db..67b7406 100644
--- a/package/lttng-babeltrace/lttng-babeltrace.mk
+++ b/package/lttng-babeltrace/lttng-babeltrace.mk
@@ -14,7 +14,9 @@ HOST_LTTNG_BABELTRACE_DEPENDENCIES = \
 	host-popt host-util-linux host-libglib2 host-pkgconf
 HOST_LTTNG_BABELTRACE_CONF_OPTS += --disable-debug-info
 
-# For 0002-m4-ax_lib_elfutils.m4-add-cache-variable.patch
+# For:
+#   0002-m4-ax_lib_elfutils.m4-add-cache-variable.patch
+#   0003-fix-uuid-support-detection-on-static-build.patch
 LTTNG_BABELTRACE_AUTORECONF = YES
 
 ifeq ($(BR2_PACKAGE_ELFUTILS),y)
-- 
2.9.3

             reply	other threads:[~2016-11-04 16:41 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-11-04 16:41 Philippe Proulx [this message]
2016-11-05 12:11 ` [Buildroot] [PATCH] lttng-babeltrace: fix static build again Thomas Petazzoni

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20161104164137.19006-1-eeppeliteloop@gmail.com \
    --to=eeppeliteloop@gmail.com \
    --cc=buildroot@busybox.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox