diff mbox

[v2,1/1] make: disable guile support when static linking enabled

Message ID 1442783430-26199-1-git-send-email-ryanbarnett3@gmail.com
State Accepted
Headers show

Commit Message

Ryan Barnett Sept. 20, 2015, 9:10 p.m. UTC
When building in a static only configuration with guile package
enabled, the following error happens:

 gc_pthread_redirects.h:37:22: fatal error: dlfcn.h: No such file or
 directory
   #   include <dlfcn.h>

The file gc_pthread_redirects.h comes from bdwgc, which gets built
before make in the autobuild test case you're pointing to. This header
file is known to incorrectly include <dlfcn.h>, unless GC_NO_DLOPEN is
specified.

IF GC_NO_DLOPEN is defined, another issue arises due to libguile and
libintl both defining locale_charset.

Thus disable guile support for make.

Fixes:
  http://autobuild.buildroot.net/results/814/8143ae0afac139845e5016058d85c800dc8527ad

Signed-off-by: Ryan Barnett <ryanbarnett3@gmail.com>
---
 package/make/make.mk | 9 ++-------
 1 file changed, 2 insertions(+), 7 deletions(-)

Comments

Yann E. MORIN Sept. 20, 2015, 9:51 p.m. UTC | #1
Ryan, All,

On 2015-09-20 16:10 -0500, Ryan Barnett spake thusly:
> When building in a static only configuration with guile package
> enabled, the following error happens:
> 
>  gc_pthread_redirects.h:37:22: fatal error: dlfcn.h: No such file or
>  directory
>    #   include <dlfcn.h>
> 
> The file gc_pthread_redirects.h comes from bdwgc, which gets built
> before make in the autobuild test case you're pointing to. This header

Maby replace "the autobuild test case you're pointing to" with "the
autobuild test case referenced below".

> file is known to incorrectly include <dlfcn.h>, unless GC_NO_DLOPEN is
> specified.
> 
> IF GC_NO_DLOPEN is defined, another issue arises due to libguile and
> libintl both defining locale_charset.
> 
> Thus disable guile support for make.
> 
> Fixes:
>   http://autobuild.buildroot.net/results/814/8143ae0afac139845e5016058d85c800dc8527ad
> 
> Signed-off-by: Ryan Barnett <ryanbarnett3@gmail.com>
> ---
>  package/make/make.mk | 9 ++-------
>  1 file changed, 2 insertions(+), 7 deletions(-)
> 
> diff --git a/package/make/make.mk b/package/make/make.mk
> index ebfa2f0..20702dc 100644
> --- a/package/make/make.mk
> +++ b/package/make/make.mk
> @@ -11,16 +11,11 @@ MAKE_DEPENDENCIES = $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext)
>  MAKE_LICENSE = GPLv3+
>  MAKE_LICENSE_FILES = COPYING
>  
> +MAKE_CONF_OPTS = --without-guile
> +
>  # Disable the 'load' operation for static builds since it needs dlopen
>  ifeq ($(BR2_STATIC_LIBS),y)
>  MAKE_CONF_OPTS += --disable-load
>  endif
>  
> -ifeq ($(BR2_PACKAGE_GUILE),y)
> -MAKE_DEPENDENCIES += guile
> -MAKE_CONF_OPTS += --with-guile
> -else
> -MAKE_CONF_OPTS += --without-guile
> -endif

Hm.. not sure we want to unconditionally disable guile support in make.

What about:

    ifeq ($(BR2_STATIC_LIBS):$(BR2_PACKAGE_GUILE),:y)
    MAKE_DEPENDENCIES += guile
    MAKE_CONF_OPTS += --with-guile
    else
    MAKE_CONF_OPTS += --without-guile
    endif

Regards,
Yann E. MORIN.

>  $(eval $(autotools-package))
> -- 
> 1.9.1
> 
> _______________________________________________
> buildroot mailing list
> buildroot@busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
Ryan Barnett Sept. 20, 2015, 10 p.m. UTC | #2
Yann,

On Sun, Sep 20, 2015 at 4:51 PM, Yann E. MORIN <yann.morin.1998@free.fr> wrote:
> Ryan, All,
>
> On 2015-09-20 16:10 -0500, Ryan Barnett spake thusly:
>> When building in a static only configuration with guile package
>> enabled, the following error happens:
>>
>>  gc_pthread_redirects.h:37:22: fatal error: dlfcn.h: No such file or
>>  directory
>>    #   include <dlfcn.h>
>>
>> The file gc_pthread_redirects.h comes from bdwgc, which gets built
>> before make in the autobuild test case you're pointing to. This header
>
> Maby replace "the autobuild test case you're pointing to" with "the
> autobuild test case referenced below".
>
>> file is known to incorrectly include <dlfcn.h>, unless GC_NO_DLOPEN is
>> specified.
>>
>> IF GC_NO_DLOPEN is defined, another issue arises due to libguile and
>> libintl both defining locale_charset.
>>
>> Thus disable guile support for make.
>>
>> Fixes:
>>   http://autobuild.buildroot.net/results/814/8143ae0afac139845e5016058d85c800dc8527ad
>>
>> Signed-off-by: Ryan Barnett <ryanbarnett3@gmail.com>
>> ---
>>  package/make/make.mk | 9 ++-------
>>  1 file changed, 2 insertions(+), 7 deletions(-)
>>
>> diff --git a/package/make/make.mk b/package/make/make.mk
>> index ebfa2f0..20702dc 100644
>> --- a/package/make/make.mk
>> +++ b/package/make/make.mk
>> @@ -11,16 +11,11 @@ MAKE_DEPENDENCIES = $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext)
>>  MAKE_LICENSE = GPLv3+
>>  MAKE_LICENSE_FILES = COPYING
>>
>> +MAKE_CONF_OPTS = --without-guile
>> +
>>  # Disable the 'load' operation for static builds since it needs dlopen
>>  ifeq ($(BR2_STATIC_LIBS),y)
>>  MAKE_CONF_OPTS += --disable-load
>>  endif
>>
>> -ifeq ($(BR2_PACKAGE_GUILE),y)
>> -MAKE_DEPENDENCIES += guile
>> -MAKE_CONF_OPTS += --with-guile
>> -else
>> -MAKE_CONF_OPTS += --without-guile
>> -endif
>
> Hm.. not sure we want to unconditionally disable guile support in make.
>
> What about:
>
>     ifeq ($(BR2_STATIC_LIBS):$(BR2_PACKAGE_GUILE),:y)
>     MAKE_DEPENDENCIES += guile
>     MAKE_CONF_OPTS += --with-guile
>     else
>     MAKE_CONF_OPTS += --without-guile
>     endif

I had proposed that but Thomas had said just to disable it all
together and Baruch - who originally submitted the package said that
he agreed. See http://lists.busybox.net/pipermail/buildroot/2015-September/139980.html

I am going to keep with disabling it unconditionally.

Thanks,
-Ryan
Yann E. MORIN Sept. 21, 2015, 5:25 p.m. UTC | #3
Ryan, All,

On 2015-09-20 17:00 -0500, Ryan Barnett spake thusly:
> On Sun, Sep 20, 2015 at 4:51 PM, Yann E. MORIN <yann.morin.1998@free.fr> wrote:
> > Ryan, All,
> >
> > On 2015-09-20 16:10 -0500, Ryan Barnett spake thusly:
> >> When building in a static only configuration with guile package
> >> enabled, the following error happens:
> >>
> >>  gc_pthread_redirects.h:37:22: fatal error: dlfcn.h: No such file or
> >>  directory
> >>    #   include <dlfcn.h>
> >>
> >> The file gc_pthread_redirects.h comes from bdwgc, which gets built
> >> before make in the autobuild test case you're pointing to. This header
> >
> > Maby replace "the autobuild test case you're pointing to" with "the
> > autobuild test case referenced below".
> >
> >> file is known to incorrectly include <dlfcn.h>, unless GC_NO_DLOPEN is
> >> specified.
> >>
> >> IF GC_NO_DLOPEN is defined, another issue arises due to libguile and
> >> libintl both defining locale_charset.
> >>
> >> Thus disable guile support for make.
> >>
> >> Fixes:
> >>   http://autobuild.buildroot.net/results/814/8143ae0afac139845e5016058d85c800dc8527ad
> >>
> >> Signed-off-by: Ryan Barnett <ryanbarnett3@gmail.com>
> >> ---
> >>  package/make/make.mk | 9 ++-------
> >>  1 file changed, 2 insertions(+), 7 deletions(-)
> >>
> >> diff --git a/package/make/make.mk b/package/make/make.mk
> >> index ebfa2f0..20702dc 100644
> >> --- a/package/make/make.mk
> >> +++ b/package/make/make.mk
> >> @@ -11,16 +11,11 @@ MAKE_DEPENDENCIES = $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext)
> >>  MAKE_LICENSE = GPLv3+
> >>  MAKE_LICENSE_FILES = COPYING
> >>
> >> +MAKE_CONF_OPTS = --without-guile
> >> +
> >>  # Disable the 'load' operation for static builds since it needs dlopen
> >>  ifeq ($(BR2_STATIC_LIBS),y)
> >>  MAKE_CONF_OPTS += --disable-load
> >>  endif
> >>
> >> -ifeq ($(BR2_PACKAGE_GUILE),y)
> >> -MAKE_DEPENDENCIES += guile
> >> -MAKE_CONF_OPTS += --with-guile
> >> -else
> >> -MAKE_CONF_OPTS += --without-guile
> >> -endif
> >
> > Hm.. not sure we want to unconditionally disable guile support in make.
> >
> > What about:
> >
> >     ifeq ($(BR2_STATIC_LIBS):$(BR2_PACKAGE_GUILE),:y)
> >     MAKE_DEPENDENCIES += guile
> >     MAKE_CONF_OPTS += --with-guile
> >     else
> >     MAKE_CONF_OPTS += --without-guile
> >     endif
> 
> I had proposed that but Thomas had said just to disable it all
> together and Baruch - who originally submitted the package said that
> he agreed. See http://lists.busybox.net/pipermail/buildroot/2015-September/139980.html

OK, if Thomas said so! ;-)

> I am going to keep with disabling it unconditionally.

OK.

Regards,
Yann E. MORIN.
Thomas Petazzoni Oct. 12, 2015, 9:57 p.m. UTC | #4
Dear Ryan Barnett,

On Sun, 20 Sep 2015 16:10:30 -0500, Ryan Barnett wrote:
> When building in a static only configuration with guile package
> enabled, the following error happens:
> 
>  gc_pthread_redirects.h:37:22: fatal error: dlfcn.h: No such file or
>  directory
>    #   include <dlfcn.h>
> 
> The file gc_pthread_redirects.h comes from bdwgc, which gets built
> before make in the autobuild test case you're pointing to. This header
> file is known to incorrectly include <dlfcn.h>, unless GC_NO_DLOPEN is
> specified.
> 
> IF GC_NO_DLOPEN is defined, another issue arises due to libguile and
> libintl both defining locale_charset.
> 
> Thus disable guile support for make.
> 
> Fixes:
>   http://autobuild.buildroot.net/results/814/8143ae0afac139845e5016058d85c800dc8527ad
> 
> Signed-off-by: Ryan Barnett <ryanbarnett3@gmail.com>
> ---
>  package/make/make.mk | 9 ++-------
>  1 file changed, 2 insertions(+), 7 deletions(-)

Applied after tweaking the commit log, thanks!

Thomas
diff mbox

Patch

diff --git a/package/make/make.mk b/package/make/make.mk
index ebfa2f0..20702dc 100644
--- a/package/make/make.mk
+++ b/package/make/make.mk
@@ -11,16 +11,11 @@  MAKE_DEPENDENCIES = $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext)
 MAKE_LICENSE = GPLv3+
 MAKE_LICENSE_FILES = COPYING
 
+MAKE_CONF_OPTS = --without-guile
+
 # Disable the 'load' operation for static builds since it needs dlopen
 ifeq ($(BR2_STATIC_LIBS),y)
 MAKE_CONF_OPTS += --disable-load
 endif
 
-ifeq ($(BR2_PACKAGE_GUILE),y)
-MAKE_DEPENDENCIES += guile
-MAKE_CONF_OPTS += --with-guile
-else
-MAKE_CONF_OPTS += --without-guile
-endif
-
 $(eval $(autotools-package))