[Rubyinstaller-devel] Building Ruby + extensions with modern Visual C++
curt.hibbs at gmail.com
Sat Jan 12 01:55:56 EST 2008
Remember that you also have to build all of the extensions and RubyGems
because the binaries produced with VC2008 use a different runtime dll than
VC6 and you can't mix them without causing problems.
On Jan 11, 2008 8:14 PM, Will Rogers <wjrogers 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 started trying to build everything necessary for the OCI using
> VC2005. I quickly realized that finding, installing, updating, and
> configuring VC2005 Express is a gigantic pain in the ass. It does not
> work with the Platform SDK out of the box, which means you have to
> edit some config files by hand to build win32 applications. This is
> far from ideal.
> Getting set up with VC2008 Express, however, is easy. You just have to
> download one file from http://www.microsoft.com/express/ and install
> it. Everything works out of the box. I also see some advantage to
> using the latest version (it will probably be available for longer, at
> the least).
> So, on to the actual compiling.
> I started with Ruby 1.8.6-p111 and zlib. Both build flawlessly with
> vc2008. Easy. I continued with openssl, building with NASM 2.00 +
> vc2008. I had to copy the nasm.exe binary to nasmw.exe for the openssl
> makefile to work, but then it also built fine.
> Then I hit readline. Readline is a mess. There isn't really an
> up-to-date, well-maintained windows port, as far as I can tell. I
> think there needs to be a reliable port of this library to really
> depend on the Microsoft compiler. I'm willing to try to learn how to
> port it, but I don't really have the existing expertise to do it
> quickly. If anyone has some ideas or pointers here, I'm all ears.
> What other dependencies does the OCI have? iconv, tcl?
> I want to be clear that I'm not challenging Luis's work on the
> mingw-based bootstrapping setup. I think it's valuable to work on both
> in parallel, to learn more about what's possible. I will have some
> time this weekend to work on getting further with the vc2008 builds.
> A good night to all,
> - Will
> Rubyinstaller-devel mailing list
> Rubyinstaller-devel at rubyforge.org
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Rubyinstaller-devel