From: Luis Lavena Date: 2007-10-01T01:25:52+09:00 Subject: Will 1.8.6 remain compiled with VC6? Hello Core developers. Since last year (in July if memory works) there was a discussion about One-Click-Installer and rely on VC6 builds (the official ones available at http://www.garbagecollect.jp/ruby/mswin32/en/), use VC8 or switch to MinGW. I remember the discussion was heated, but no final word on the platform that OCI will use for future releases. So far, still remains linked to VC6 ones. The problem is the whole "how extensions are build, compiled and packaged with different compilers"... So far, to link successfully (without tweaks to rbconfig.rb) you still need VC6, which is currently unavailable. Now VC8 is released as free package (under Visual Studio Express 2005 or Windows Vista SDK) -- in any case, is more simpler get the environment right to compile Ruby and the extensions (under the mswin32_80 platform). A few days back testing the upcoming RubyGems, found that mswin32 and mswin32_80 was considered the same platform, and that could raise a few issues as I pointed in the list: http://rubyforge.org/pipermail/rubygems-developers/2007-September/003058.html - Extensions compiled under VC6 build of ruby will link against msvcrt-ruby18.dll - Hand-compiled Ruby (with VC8) will link extensions to msvcr80-ruby18.dll - Installation of extensions pre-built with VC6 under Ruby-VC8 will not find the ruby library and fail. - Compile extensions with VC8 for Ruby-VC6 requires tweaks in rbconfig.rb (a lot of them). - Side effect: Extensions compiled with VC8 will also load MSVCR80.DLL, besides the MSVCRT.DLL loaded by the interpreter. - Ruby-VC6 is slower than VC8 (http://pastie.caboo.se/pastes/95210) Sine new ruby users and developer would like to create their own extensions and due the lack of distutils-like functionality for Ruby... What is required to finally migrate Ruby builds on Windows to VC8? I have done some work fulfilling the dependencies of extensions bundled with ruby: http://pastie.caboo.se/pastes/100080 To get them work under VC8 (all the dependencies are build from scratch to link with MSVCR80.DLL). I don't want to start another flame war, huge debate about this, since Eric Hodel will provide a workaround for rubygems (Ruby-VC6 will be x86-mswin32-60 and VC8 build will be x86-mswin32-80). Thanks in advance for your time (everybody who reach this point and didn't delete the message) :-) Regards and good weekend, -- Luis Lavena Multimedia systems - Leaders are made, they are not born. They are made by hard effort, which is the price which all of us must pay to achieve any goal that is worthwhile. Vince Lombardi