All of lore.kernel.org
 help / color / mirror / Atom feed
* [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.