[Rubyinstaller-devel] Rubyinstaller-devel Digest, Vol 15, Issue 1

Luis Lavena luislavena at gmail.com
Sat Jan 12 12:48:09 EST 2008

On Jan 12, 2008 1:20 PM, Roger Pack <rogerpack2005 at gmail.com> wrote:
> > There doesn't seem to be any discussion on this list right now, so let
> > me kick something off. I contacted Curt and Luis earlier this week to
> > ask what their plans were with regard to migrating the OCI to a new
> > compiler. Luis seems to be working on a bootstrapping approach using
> > mingw, which is fine, but I still think that the "best" thing to do
> > would be to build with the Microsoft compiler on Windows, it being the
> > native solution and all. Also, according to what I've read, linking
> > with the newer versions of the MS C runtime has some advantages in
> > terms of security and stability compared to the old msvcrt.dll that
> > mingw (and vc6) links to.
> I think half the reason of using mingw is to avoid the pain of
> configuring VC8.  That being said VC8 supports 64-bit 'a little
> better' than mingw, so an awkward trade-off.

Well, the thing with 64bits is worse than that.

Ruby isn't optimized for 64bits, as discussed previously on ruby-core
and my own conclusion.
Every object under 64bits ruby will use almost twice (!!!) amount of
memory than 32bits version. The performance issue regarding 64bits OS
on top of 64 bit processor do not worth the pain of having 400MB
Ruby+Rails processes.

The worse part of x64 ruby is that not only we have to compile ruby
for 64bits, but all the dependencies, and the thing is that some of
them don't even compile in 32bits! (I'm talking of course about GNU
libraries and others).

> Mingw can be built to link against (according to Luis) different
> versions of the msvcrtXXX.dll, so that shoudn't be a strike against
> it.

The targetting of msvcr90 was discussed in cygwin development list [1]
by Paul Moore (python-dev) and was later announced in python-dev list

There is another way to target "at runtime" which version of msvcrt
will be used, but is not official part of MinGW. In any case, the
Python guys don't worry about that since they have distutils
package... I wish we have that too...

> I'd say overall, since Ruby is SO entrenched in the Linux world,
> it is easier to just use mingw.  That being said, I've never gotten
> readline to compile on mingw (Luis has [?]), but I mean mingw also has
> a setup fee.  Sigh.  Good luck!

I got it working, but but couldn't reproduce it, just failed... some
GNU tools are just a pain get them right... too many patches
distributed across the world that you need to apply before compile...
and of course, the RTFM attitude...

> -Roger
> Note please CC me responses, as I seldom read from the list.

Hey Roger, this is a low-traffic list, subscribe! :-D

[1] http://thread.gmane.org/gmane.comp.gnu.mingw.user/24686
[2] http://mail.python.org/pipermail/python-dev/2007-November/075473.html

Luis Lavena
Multimedia systems
A common mistake that people make when trying to design
something completely foolproof is to underestimate
the ingenuity of complete fools.
Douglas Adams

More information about the Rubyinstaller-devel mailing list