guix-devel
[Top][All Lists]
Advanced

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

Re: [PATCH 1/1] gnu: lua: Build with dynamic library support.


From: Ludovic Courtès
Subject: Re: [PATCH 1/1] gnu: lua: Build with dynamic library support.
Date: Tue, 27 Oct 2015 16:48:27 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux)

Leo Famulari <address@hidden> skribis:

> On Tue, Oct 27, 2015, at 08:47, Ludovic Courtès wrote:
>> Leo Famulari <address@hidden> skribis:
>> 
>> > Notably, this enables the use of dynamic libraries with Lua.
>> 
>> A better subject line for the commit would be:
>> 
>>   gnu: lua-5.2: Build shared libraries.
>> 
>> AFAICS, the problem is only with Lua 5.2:
>> 
>> --8<---------------cut here---------------start------------->8---
>> $ ls $(guix build lua-5.1)/lib
>> liblua.a  liblua.so  liblua.so.5.1  lua
>> $ ls $(guix build lua-5.2)/lib
>> liblua.a  lua  pkgconfig
>> --8<---------------cut here---------------end--------------->8---
>> 
>> Thus I would suggest leaving ‘lua-5.1’ unchanged.
>
> The make flags were broken before, for both 5.1 and 5.2, but in
> different ways. So the commit isn't about enabling shared libraries but
> fixing the flags. And I'm not sure about using Lua as a library. I was
> more interested in using other libraries with Lua.

By “fixing the flags”, do you mean that the .so that we have for 5.1
does not actually contain position-independent code?  That CFLAGS was
ignored?

> For 5.2, MYCFLAGS is available to "users" to append flags to what is set
> by the platform flag ("linux").
>
> For 5.1, MYCFLAGS does NOT append, so you must manually copy the
> platform dependent flags onto the command-line and then append your
> flags.
>
> In both cases, our build instructions clobber the platform dependent
> flags.

OK.

>> > * gnu/packages/lua.scm (lua, lua-5.1)[arguments]: Set the make flags
>> >   properly for each version of lua.
>> 
>> [...]
>> 
>> > +++ b/gnu/packages/lua.scm
>> > @@ -24,6 +24,7 @@
>> >    #:use-module (guix packages)
>> >    #:use-module (guix download)
>> >    #:use-module (guix build-system gnu)
>> > +  #:use-module (guix utils)
>> 
>> Looks like this line is not needed, is it?
>
> I thought that was necessary to use substitute-keyword-arguments.

Oh right.

>> >         #:phases (alist-replace
>> >                   'build
>> > -                 (lambda _ (zero? (system* "make" "CFLAGS=-fPIC" 
>> > "linux")))
>> > +                 (lambda _ (zero? (system* "make" "MYCFLAGS=-fPIC" 
>> > "linux")))
>> 
>> I just tried and AFAICS this line has no effect: Lua 5.2 still lacks
>> liblua.so.  Am I missing something?
>
> I will have to look into it again. I tested the results by starting the
> Lua interpreter while linking a shared library:
> $ lua -lssl

I’m not familiar with Lua; what does this command do?

I thought the goal was to get liblua.so for 5.2, but this seems to be
testing something else?

>> > @@ -89,8 +106,8 @@ for configuration, scripting, and rapid prototyping.")
>> >                                    version ".tar.gz"))
>> >                (sha256
>> >                 (base32 
>> > "0ydxpqkmsn2c341j4r2v6r5r0ig3kbwv3i9jran3iv81s6r6rgjm"))
>> > -        (patches (list (search-patch "luajit-symlinks.patch")
>> > -                       (search-patch "luajit-no_ldconfig.patch")))))
>> > +              (patches (list (search-patch "luajit-symlinks.patch")
>> > +                             (search-patch "luajit-no_ldconfig.patch")))))
>> 
>> Unnecessary too.
>
> I figured that I should remove this tabulation while I was touching the
> file.

OK, it can’t hurt, indeed.

Thanks,
Ludo’.



reply via email to

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