--- Curt Hibbs <curt / hibbs.com> wrote:
> Jeff Mitchell wrote:
> > 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.

I was shocked to see my private email appear in the ML, but I'll respond to
this part.  mingw32 produces 100% native Win32 code -- that's really the reason
mingw32 exists in the first place.  What can lead to incompatibility is
the GNU gcc runtime verses the Microsoft runtime.  mingw32 output can be linked
to either runtime.  With mkmf.rb, ruby extensions are configured to link to
whatever runtime ruby uses -- in this case msvcrt-ruby18.  If you build ruby
with mingw32 you will find it creates msvcrt-ruby18 as well.

> > 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).

The reason I mention it is because that's what makes your ruby different than
mine.  Assuming no compiler bugs, the problem must lie there, or in the 181
patch you are applying.




	
		
__________________________________
Do you Yahoo!?
New and Improved Yahoo! Mail - 100MB free storage!
http://promotions.yahoo.com/new_mail