lua-users home
lua-l archive

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

It was thus said that the Great Enrico Tassi once stated:
> The increasing popularity of Lua, combined with the fact that Linux
> distributions prefer, for obvious reasons, to build on shared libraries,
> is starting to cause some troubles.

  Um ... they aren't obvious to me.  Shared libraries cause problems
(upgrades can break existing software; there are versioning issues), they
cause programs to run slower (at startup time as all the symbols are
resolved, or to get around that, the program runs slower as symbols are
resolved as they are used; also, because of the way functions are called
involve a pointer dereference and a jump and that can add up), and they
don't save as nearly as much memory as they claim (all I want is the shared
banana, but I get the shared 800-pound gorilla whereas with static linking,
I just get the banana).  

  So, why do distributions like shared libraries again?

> The shared objects for Lua 5.1 and 5.2 share a lot of symbol names.
> This is usually not a problem, since an application is either linked
> against Lua 5.1 or 5.2, so no confusion is made.  Unfortunately Lua is a
> popular extension language for libraries too.  So it may happen that a
> software links two distinct libraries that in turn are linked against
> different versions of Lua.  Boom.

  But shouldn't a distribution take care to make sure everything is handled
properly and not break?  I'm confused here.