guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] Add Jellyfish.


From: Ludovic Courtès
Subject: Re: [PATCH] Add Jellyfish.
Date: Fri, 01 Jan 2016 23:15:12 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux)

Ricardo Wurmus <address@hidden> skribis:

> Ludovic Courtès <address@hidden> writes:
>
>> Ben Woodcroft <address@hidden> skribis:
>>
>>> But would it be possible to include the scripting language bindings,
>>> something along these lines?
>>>
>>> +    (arguments
>>> +     `(#:configure-flags '("--enable-ruby-binding"
>>> +                           "--enable-python-binding"
>>> +                           "--enable-perl-binding")
>>
>> There’s the usual space/popularity tradeoff to take into account: adding
>> them all makes the package’s closure much larger, so it’s important to
>> add only the useful bindings by default.
>>
>> Ideally, the .so for these bindings could be moved to separate outputs
>> (like we did for the “tk” output of Python), but it’s not always easy to
>> do.
>
> In this case it seems to be very easy to separate the bindings into
> different outputs as the flags take an optional path.

Great.

> However, the test for the Perl bindings does not pass:
>
>   /gnu/store/czs63sm4l0s4a56ab38dqvkx19yzylbq-perl-5.16.1/bin/perl: symbol 
> lookup error: 
> /tmp/nix-build-jellyfish-2.2.4.drv-0/jellyfish-2.2.4/.libs/libjellyfish-2.0.so.2:
>  undefined symbol: pthread_create
>   FAIL tests/swig_perl.sh (exit status: 127)
>
> Maybe the library needs another linker flag?  I’ll play with this later
> and see if I can make it work.  If not I’ll leave the Perl bindings (and
> the “perl” output) away for now.

Looks like libjellyfish-2.0.so lacks “-pthread” in its LDFLAGS.  Perl
dlopening reveals the problem, it seems.

> It’s a bit unfortunate that this library would gain so many transitive
> inputs just for these bindings (all of these three languages require a
> lot of inputs).  It would be nice if we could somehow mark certain
> inputs to be used only for certain outputs, but that’s probably a silly
> wish.

At least someone using substitutes won’t need to download all these
prerequisites if bindings are moved to individual outputs.

Thanks,
Ludo’.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]