lua-users home
lua-l archive

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


On Tue, May 13, 2014 at 08:27:42PM +0000, hasufell wrote:
> hasufell:
> > Hi,
> > 
> > libraries that only support static builds are no friends of packagers,
> > since this can be a practical security problem for the user.
<snip>
> > * what's wrong with libtool?

I'll tell you what's wrong with libtool: versioning. There are a gazillion
GNU versions, and the most recent versions aren't intended to be used
outside of a full-blown autotools build environment. (You can make it work,
of course, but the authors have explicitly said they aren't interested in
supporting independent usage.) Plus OS X and OpenBSD have their own
proprietary versions which mimic different, ancient libtool versions. So the
invocations are different across platforms unless you include a copy, but
there's no independently maintained libtool script anymore; it's tied into
autotools.

libtool, like autotools generally, is a maintenance nightmare. IME it's
easier to just enumerate all the different compiler flags on the different
platforms.

I believe the reason why the Lua team doesn't want to "fix" the default
Makefile is because it's already a hassle just to maintain the existing
rules. Adding targets for a shared library could easily double or quadruple
the amount of time wasted by them maintaining the Makefile.

OTOH, it's trivial for packagers on different platforms to build a dynamic
library. That some aren't doing it is a QoI issue on their end.

I've always thought a cool project would be a Unix-focused fork which all
the different packagers for Unix platforms agreed to follow. The fork would
be identical in terms of source code, but have tweaked builds.

One problem I've had is that on some BSDs, you can't use pthreads unless the
core interpreter is linked with -lpthread. (Contrast this with other
platforms like Linux, where a library can link in pthreads on its own and
everything still works.) So it would be nice if Lua interpreters on Unix
systems were always built with -lpthread.

So, if you're interested in that (a simple, parallel fork for Unix), I'd be
happy to help out.