unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: ludo@gnu.org (Ludovic Courtès)
To: Leo Famulari <leo@famulari.name>
Cc: guix-devel@gnu.org
Subject: Re: [PATCH 1/1] gnu: lua: Build with dynamic library support.
Date: Tue, 27 Oct 2015 16:48:27 +0100	[thread overview]
Message-ID: <87pp00tir8.fsf@gnu.org> (raw)
In-Reply-To: <1445955233.2825572.421511113.088B9586@webmail.messagingengine.com> (Leo Famulari's message of "Tue, 27 Oct 2015 10:13:53 -0400")

Leo Famulari <leo@famulari.name> skribis:

> On Tue, Oct 27, 2015, at 08:47, Ludovic Courtès wrote:
>> Leo Famulari <leo@famulari.name> 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	other threads:[~2015-10-27 15:48 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-10-27  3:56 [PATCH 0/1] lua: Build with dynamic library support Leo Famulari
2015-10-27  3:56 ` [PATCH 1/1] gnu: " Leo Famulari
2015-10-27 12:47   ` Ludovic Courtès
2015-10-27 14:13     ` Leo Famulari
2015-10-27 15:48       ` Ludovic Courtès [this message]
2015-10-28  3:32         ` Leo Famulari
2015-10-28 22:47           ` Leo Famulari
2015-10-29 20:49             ` Ludovic Courtès
2015-10-29 20:46           ` Ludovic Courtès

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87pp00tir8.fsf@gnu.org \
    --to=ludo@gnu.org \
    --cc=guix-devel@gnu.org \
    --cc=leo@famulari.name \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).