[rrd-developers] Checking for lua in the configure script

Sebastian Harl sh at tokkee.org
Tue Sep 29 12:44:58 CEST 2009


Hi Fidelis,

On Mon, Sep 28, 2009 at 11:22:19AM -0300, Fidelis Assis wrote:
> Sebastian Harl escreveu:
> > In configure.ac, I found the following shell snippet:
> > 
> >   lua_exec_prefix=`$PKGCONFIG --variable=prefix $f 2>/dev/null`
> >   # same binaries?
> >   if test "$lua_exec_prefix/bin/lua" = "$LUA"; then
> >       # OK, found CFLAGS. Get Lua LFLAGS and modules install dir
> >       LUA_CFLAGS=`$PKGCONFIG --cflags $f 2>/dev/null`
> >       LUA_LFLAGS=`$PKGCONFIG --libs $f 2>/dev/null`
> >       LUA_INSTALL_CMOD=`$PKGCONFIG --variable=INSTALL_CMOD $f 2>/dev/null`
> >       LUA_INSTALL_LMOD=`$PKGCONFIG --variable=INSTALL_LMOD $f 2>/dev/null`
> >       break
> >   fi
> > 
> > What's the reason for that check?
> 
> The reason is that pkg-config can only be used with the proper binary
> version, and I could not find a better way to guarantee that. For instance,
> if one downloads and installs a newer version directly from Lua site, not
> yet available in the distro, there will be a build failure without that
> check (pkg-config would report wrong paths).

Hrm … I'm not sure, I understood that correctly? What kind of wrong
paths does it return? That sounds like a bug in lua to me that should be
fixed. Since you're checking for an appropriate version (>= 5.1), that
should make sure that an appropriate version is available. Could you
please provide an example how that fails? Maybe someone can come up with
a better solution.

> Now I see that I fixed one but broke other non standard cases, like
> yours :(.

Hrm … not sure if having multiple versions installed in parallel should
be called a "non standard case" ;-)

>  Debian ships multiple versions of lua
> > and lets the user chose the default version (through the "alternatives"
> > system). A symlink /usr/bin/lua is then created pointing to the chosen
> > version. For the Debian packing of RRDtool I'd like to specify an exact
> > version though (i.e. LUA=/usr/bin/lua5.1)
> 
> That's already the one to be used in first place. Only if lua5.1 is not
> found, or if you install another version from sources (tar.gz), you'll get
> different version.

Well, no - Debian provides, e.g. lua50 as well - depending on the user
configuration, /usr/bin/lua either points to lua50 or lua5.1 …

>  - in that case, that check
> > fails though and, thus, LUA_CFLAGS and LUA_LDFLAGS are empty causing a
> > build failure because the lua header files cannot be found.
> 
> Sorry for the inconvenience, I'll think more on how to do a better check and
> not break your case. Suggestions are welcome :).

I'm pretty sure, we'll find a solution ;-) In the worst case, I'd have
to build-conflict with any other lua version to make sure /usr/bin/lua
points to lua5.1 - that's quite ugly though and I'd have to touch the
package any time a new version of lua has been uploaded, so I'd like to
avoid that.

Cheers,
Sebastian

-- 
Sebastian "tokkee" Harl +++ GnuPG-ID: 0x8501C7FC +++ http://tokkee.org/

Those who would give up Essential Liberty to purchase a little Temporary
Safety, deserve neither Liberty nor Safety.         -- Benjamin Franklin

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: Digital signature
Url : http://lists.oetiker.ch/pipermail/rrd-developers/attachments/20090929/2b81e3aa/attachment.pgp 


More information about the rrd-developers mailing list