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