logo       

Re: Problems compiling luacheia with Mingw: msg#00069

lang.lua.luacheia

Subject: Re: Problems compiling luacheia with Mingw

Doug,

Thanks for your reports and persistence, in the face of all these
vexing problems.

I did some digging and testing; it appears that there is a libtool bug
that manifests in MSYS 1.0.

I think I managed to fix it by committing a newer version of
aclocal.m4 and configure into CVS. I can successfully do a full build
using MSYS-1.0.10.exe and MinGW-3.1.0-1.exe .

You can stop reading here if you aren't interested in the workings of
the sausage machine that is autotools.

The libtool that has the fix is:

ltmain.sh (GNU libtool) 1.5.2 (1.1220.2.60 2004/01/25 12:25:08) Debian: 192 $

The libtool that has the bug is 1.5 (1.220.2.1 2003/04/14 22:48:00),
which is what's in the current cygwin.

The bug is embedded in aclocal.m4 and configure, by the aclocal and
autoconf tools. So the situation is, if you run ./autogen.sh on a
system with the older libtool (such as the current cygwin), you get a
buggy configure script. If you run ./autogen.sh on a system with a
fixed libtool (such as Debian), you get a correct configure script.
But the bug only affects MSYS.

The bug itself is: when libtool links a dynamic lib against another
lib, it requires that the dependency must also be a dynamic lib (don't
ask me why, but that's the policy, presumably for good reasons).
Anyway, libtool looks around in the usual places to find a file that
looks like a dynamic version of the desired lib. It runs some tests
on each candidate, to make sure it actually is a dynamic lib. For the
buggy version, the tests depended on the command "file", which does
not exist in MSYS. For the fixed version, they do something with
objdump, which comes with MinGW.

I'm not 100% sure why things seemed to work with my older MSYS/MinGW.
Maybe there used to be a version of the "file" command installed?

Anyway. For now I guess I will re-run ./autogen.sh on my Debian box
periodically, and/or whenever our build scripts change.

-Thatcher


On Mar 26, 2004 at 04:36 -0500, Doug Currie wrote:
> Well, I tried a build from the CVS.
>
> Reminder, my environment is:
> Windows XP
> msys 1.0.10
> mingw gcc-core-3.3.3-20040217-1.tar.gz
> mingw gcc-g++-3.3.3-20040217-1.tar.gz
> mingw binutils-2.15.90-20040222-1.tar.gz
>
> After the checkout I did:
>
> ./configure --enable-modules='bit lxp socket'
> make
>
> The make completed, but as before the luasocket.dll was not built; the
> relevant part of the console output is below.
>
> Then I did a
>
> make install
>
> It failed to install lualib and exited. Again, the console output is below.
>
> I am stumped, and am giving up. I can build and install all the pieces
> with mingw/msys and the original distributions (lua, luasockets, etc.)
> with minor Makefile target additions for DLLs. The Luacheia
> distribution just isn't helping me at all at this point. Not only is
> the libtool build *much* slower than a simple Makefile build, but it
> just doesn't work for me. Perhaps Hamster will be the answer.
>
> Regards,
>
> e
[...]

--
Thatcher Ulrich
http://tulrich.com


-------------------------------------------------------
This SF.Net email is sponsored by: IBM Linux Tutorials
Free Linux tutorial presented by Daniel Robbins, President and CEO of
GenToo technologies. Learn everything from fundamentals to system
administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click


<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

News | FAQ | advertise