* [PATCH babeltrace] configure: fix uuid support detection on static build
@ 2016-06-01 19:56 Samuel Martin
0 siblings, 0 replies; 6+ messages in thread
From: Samuel Martin @ 2016-06-01 19:56 UTC (permalink / raw)
To: lttng-dev
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>
---
configure.ac | 31 +++++++++++++++++++++----------
1 file changed, 21 insertions(+), 10 deletions(-)
diff --git a/configure.ac b/configure.ac
index 63a7548..f923edb 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
+ ])
])
])
])
--
2.8.3
_______________________________________________
lttng-dev mailing list
lttng-dev@lists.lttng.org
https://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH babeltrace] configure: fix uuid support detection on static build
[not found] ` <CAHXCMMLp5tBMbo3oEzbY1yqnpGphKYMid+UTfwtr8zdYQvbfKQ@mail.gmail.com>
@ 2016-07-25 19:22 ` Jérémie Galarneau
0 siblings, 0 replies; 6+ messages in thread
From: Jérémie Galarneau @ 2016-07-25 19:22 UTC (permalink / raw)
To: Samuel Martin; +Cc: lttng-dev
Merged in master and stable-1.4, thanks!
Jérémie
On Sun, Jun 26, 2016 at 12:26 PM, Samuel Martin <s.martin49@gmail.com> wrote:
> Hi Jérémie,
>
> On Tue, Jun 14, 2016 at 8:21 AM, Samuel Martin <s.martin49@gmail.com> wrote:
>> Hi Jérémie,
>>
>> On Tue, Jun 14, 2016 at 1:21 AM, Jérémie Galarneau
>> <jeremie.galarneau@efficios.com> wrote:
>>> On Wed, Jun 1, 2016 at 3:56 PM, Samuel Martin <s.martin49@gmail.com> wrote:
>>>> 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.
>>>
>>> Hi Samuel,
>>>
>>> The same requirements seem to exist for glib (gettext), does the
>>> change need to be made for it also?
>> Maybe, I did not trigger this in my test (certainly because fix the
>> first error was enough to provide all deps the others need...)
>> I'll check it and report back here.
>
> Sorry for being so long :-/
>
> AFAICS, the glib dependency is already correctly handle since it
> already and unconditionally uses PKG_CHECK_MODULES to set its LIBS and
> CFLAGS variables [1]; so, the gettext/libintl dependency flags are
> already and properly set when it is needed.
>
> [1] http://git.efficios.com/?p=babeltrace.git;a=blob;f=configure.ac;h=84f9000d83324ed098980f250632d566f42b1701;hb=HEAD#l303
>
> BR,
>
> --
> Samuel
--
Jérémie Galarneau
EfficiOS Inc.
http://www.efficios.com
_______________________________________________
lttng-dev mailing list
lttng-dev@lists.lttng.org
https://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH babeltrace] configure: fix uuid support detection on static build
[not found] ` <CAHXCMMLfmjew0zJPzvdfW5nT2GWrJ=WpZkbo8oAB4660EqPgAQ@mail.gmail.com>
@ 2016-06-26 16:26 ` Samuel Martin
[not found] ` <CAHXCMMLp5tBMbo3oEzbY1yqnpGphKYMid+UTfwtr8zdYQvbfKQ@mail.gmail.com>
1 sibling, 0 replies; 6+ messages in thread
From: Samuel Martin @ 2016-06-26 16:26 UTC (permalink / raw)
To: Jérémie Galarneau; +Cc: lttng-dev
Hi Jérémie,
On Tue, Jun 14, 2016 at 8:21 AM, Samuel Martin <s.martin49@gmail.com> wrote:
> Hi Jérémie,
>
> On Tue, Jun 14, 2016 at 1:21 AM, Jérémie Galarneau
> <jeremie.galarneau@efficios.com> wrote:
>> On Wed, Jun 1, 2016 at 3:56 PM, Samuel Martin <s.martin49@gmail.com> wrote:
>>> 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.
>>
>> Hi Samuel,
>>
>> The same requirements seem to exist for glib (gettext), does the
>> change need to be made for it also?
> Maybe, I did not trigger this in my test (certainly because fix the
> first error was enough to provide all deps the others need...)
> I'll check it and report back here.
Sorry for being so long :-/
AFAICS, the glib dependency is already correctly handle since it
already and unconditionally uses PKG_CHECK_MODULES to set its LIBS and
CFLAGS variables [1]; so, the gettext/libintl dependency flags are
already and properly set when it is needed.
[1] http://git.efficios.com/?p=babeltrace.git;a=blob;f=configure.ac;h=84f9000d83324ed098980f250632d566f42b1701;hb=HEAD#l303
BR,
--
Samuel
_______________________________________________
lttng-dev mailing list
lttng-dev@lists.lttng.org
https://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH babeltrace] configure: fix uuid support detection on static build
[not found] ` <CA+jJMxuRg7U-TuA5sWgW+e8mRf3ebO1BjcQ+1caqHT6ecUOTNw@mail.gmail.com>
@ 2016-06-14 6:21 ` Samuel Martin
[not found] ` <CAHXCMMLfmjew0zJPzvdfW5nT2GWrJ=WpZkbo8oAB4660EqPgAQ@mail.gmail.com>
1 sibling, 0 replies; 6+ messages in thread
From: Samuel Martin @ 2016-06-14 6:21 UTC (permalink / raw)
To: Jérémie Galarneau; +Cc: lttng-dev
Hi Jérémie,
On Tue, Jun 14, 2016 at 1:21 AM, Jérémie Galarneau
<jeremie.galarneau@efficios.com> wrote:
> On Wed, Jun 1, 2016 at 3:56 PM, Samuel Martin <s.martin49@gmail.com> wrote:
>> 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.
>
> Hi Samuel,
>
> The same requirements seem to exist for glib (gettext), does the
> change need to be made for it also?
Maybe, I did not trigger this in my test (certainly because fix the
first error was enough to provide all deps the others need...)
I'll check it and report back here.
Regards,
--
Samuel
_______________________________________________
lttng-dev mailing list
lttng-dev@lists.lttng.org
https://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH babeltrace] configure: fix uuid support detection on static build
[not found] <20160601195632.23585-1-s.martin49@gmail.com>
2016-06-11 9:14 ` Samuel Martin
@ 2016-06-13 23:21 ` Jérémie Galarneau
[not found] ` <CA+jJMxuRg7U-TuA5sWgW+e8mRf3ebO1BjcQ+1caqHT6ecUOTNw@mail.gmail.com>
2 siblings, 0 replies; 6+ messages in thread
From: Jérémie Galarneau @ 2016-06-13 23:21 UTC (permalink / raw)
To: Samuel Martin; +Cc: lttng-dev
On Wed, Jun 1, 2016 at 3:56 PM, Samuel Martin <s.martin49@gmail.com> wrote:
> 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.
Hi Samuel,
The same requirements seem to exist for glib (gettext), does the
change need to be made for it also?
Jérémie
>
> 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>
> ---
> configure.ac | 31 +++++++++++++++++++++----------
> 1 file changed, 21 insertions(+), 10 deletions(-)
>
> diff --git a/configure.ac b/configure.ac
> index 63a7548..f923edb 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
> + ])
> ])
> ])
> ])
> --
> 2.8.3
>
> _______________________________________________
> lttng-dev mailing list
> lttng-dev@lists.lttng.org
> https://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev
--
Jérémie Galarneau
EfficiOS Inc.
http://www.efficios.com
_______________________________________________
lttng-dev mailing list
lttng-dev@lists.lttng.org
https://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH babeltrace] configure: fix uuid support detection on static build
[not found] <20160601195632.23585-1-s.martin49@gmail.com>
@ 2016-06-11 9:14 ` Samuel Martin
2016-06-13 23:21 ` Jérémie Galarneau
[not found] ` <CA+jJMxuRg7U-TuA5sWgW+e8mRf3ebO1BjcQ+1caqHT6ecUOTNw@mail.gmail.com>
2 siblings, 0 replies; 6+ messages in thread
From: Samuel Martin @ 2016-06-11 9:14 UTC (permalink / raw)
To: lttng-dev
up!
On Wed, Jun 1, 2016 at 9:56 PM, Samuel Martin <s.martin49@gmail.com> wrote:
> 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>
> ---
> configure.ac | 31 +++++++++++++++++++++----------
> 1 file changed, 21 insertions(+), 10 deletions(-)
>
> diff --git a/configure.ac b/configure.ac
> index 63a7548..f923edb 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
> + ])
> ])
> ])
> ])
> --
> 2.8.3
>
--
Samuel
_______________________________________________
lttng-dev mailing list
lttng-dev@lists.lttng.org
https://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2016-07-25 19:22 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-06-01 19:56 [PATCH babeltrace] configure: fix uuid support detection on static build Samuel Martin
[not found] <20160601195632.23585-1-s.martin49@gmail.com>
2016-06-11 9:14 ` Samuel Martin
2016-06-13 23:21 ` Jérémie Galarneau
[not found] ` <CA+jJMxuRg7U-TuA5sWgW+e8mRf3ebO1BjcQ+1caqHT6ecUOTNw@mail.gmail.com>
2016-06-14 6:21 ` Samuel Martin
[not found] ` <CAHXCMMLfmjew0zJPzvdfW5nT2GWrJ=WpZkbo8oAB4660EqPgAQ@mail.gmail.com>
2016-06-26 16:26 ` Samuel Martin
[not found] ` <CAHXCMMLp5tBMbo3oEzbY1yqnpGphKYMid+UTfwtr8zdYQvbfKQ@mail.gmail.com>
2016-07-25 19:22 ` Jérémie Galarneau
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.