I'm cross-posting this to see if anyone here can offer more concrete and/or
accurate advice.

Jeff Mitchell wrote:
>
> I'm hunting down the reason why my package
> (http://linalg.rubyforge.org) crashes with the ruby shipped in the
> one-click installer.  I am running Windows 2000 with all the latest
> Windows Updates.
>
> I have no problems when I use my own i386-mswin32-ruby-1.8.1 built
> with VC++ 6.0 SP5 from the standard ruby tarball.  The extensions are
> built with mingw32-gcc-3.3.1.
>
> For good measure I attempted to compile the extensions with VC++, but
> I hit a stream of errors in Winnt.h.  (These errors are intractable; I
> even looked at the raw preprocessor output and found no difference in
> the problematic section, starting at line 161.)

This may be precisely what you need to do. I would post your compile errors
on ruby-talk ML to see if you can get some help.

> In any case, to my knowledge mingw32 should be fully compatible since
> it shares the same runtime, libmsvcrt-ruby18.  It runs fine on
> mingw32-ruby as well.  (And no problems on the i686-linux side
> either.)

I'm no expert here, but my expectation would be the opposite, since mingw32
compiled code runs through an emulation layer while natively compiled code
does not.

Since the Ruby Installer for Windows is compiled natively (with VC++ 7.1),
and your extension is compiled with mingw32, I would expect problems, and
perhaps that is the source of the segfaults you mention below.

I'm going to cross post this to the ruby-talk ML, and the ruby-installer-dev
ML to get some other opinions on this.

> Though my package uses LAPACK (a linear algebra library), it is linked
> statically.
>
> I'm a little befuddled.  Are there any known issues with extension
> classes and the one-click installer?
>
> I noticed that you included the 7.1 runtime,

This is because not all windows systems have this runtime installed, and the
whole point of a one-click installer is that it be "one-click" (that is, the
user should not have to download and install a missing runtime dll).

Curt


---
Incoming mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.699 / Virus Database: 456 - Release Date: 6/4/2004