[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: Re: How to avoid DLL hell?
- From: steve donovan <steve.j.donovan@...>
- Date: Mon, 22 Nov 2010 07:59:32 +0200
On Mon, Nov 22, 2010 at 3:05 AM, Miles Bader <miles@gnu.org> wrote:
> [A different set of paths for different Lua versions certainly sounds
> necessary, but since installation details are outside of the Lua core's
> provenance, I guess there's not so much the core can do.]
It all works better on the Unix side because the module paths for 5.1
and 5.2 are different by design.
The convention for module paths on Windows is that they are based on
the executable location. If this is %LUA_DEV%, then Lua modules are in
%LUA_DEV%\lua and binary extensions end up in %LUA_DEV%, unless
overriden to something like %LUA_DEV%\clibs as it is in Lua for
Windows.
So the first lesson is that the lua52 executable should not sit next
to the lua51 executable.
Recompiling the binary extensions is unavoidable, unfortunately,
particularly on Windows since the extensions bind to a particular Lua
DLL - dynamic linking on Unix is more promiscuous and 'dynamic'.
One of the goals of LfW is to have a build-everything system, in which
case it would be fairly straightforward to make a 5.2 edition.
steve d.