RubyInstaller – State of One-Click

Posted: May 5th, 2009 | Author: FreedomCoder | Filed under: Uncategorized | Tags: , , , | No Comments »

I wont be lame and say been a while since last blogged, which is true, but is not the reason I’m writing this.

I’ll like to provide a better look on what’s going on at RubyInstaller project, clear out some repeating questions and give hope to people.

Please keep reading if you’re interested (will try to make it short, I promise).

Current One-Click Installer – Stable State

I keep getting several emails about current installer (labeled 186-27 RC2). While it says Release Candidate 2, it has proven to be really stable, not getting any new report of issues or major bugs in the installer, Ruby or RubyGems.

So even it says RC2, it is stable people, please use it (I do).

I’ve been working in the new installers, that’s why there was no updated version.

1.8.6, 1.8.7, 1.8.x?

I tried to explain why RubyInstaller project is sticking with 1.8.6 for 1.8.x line of Ruby support. It seems needs further explanation.

Lot of packages bundled in current installer, see for yourself here

Most of those haven’t been updated in years, which mean that manually I need to go and patch all those to make them work with 1.8.7 due some changes in the extensions and even some features (cough, incompatibilities) back-ported from 1.9.x development.

Doing that amount of work is beyond RubyInstaller project job or role. I’ve invested lot of this time fixing several projects for Windows compatibility and provide tools to ease the cross platform integration (rake-compiler).

We can’t do more than that. I can’t do more than that.

I cannot endorse 1.8.7 usage or support it, since I’m not an active user of that particular version.

So go ahead, checkout the Subversion repository of current installer like this:


svn co http://rubyinstaller.rubyforge.org/svn/trunk/installer-win2/ current-one-click

Read the instructions and build your own version of 1.8.7.

Don’t have a VC6 license required to build it? then clone the MinGW version over here

All the code is out there, all the instructions are there. There is no rocket science about the process, just time, your time.

When will be a 1.9 One-Click Installer?

When people start helping out, seriously.

On a weekly basis I get errors from people facing issues with several Gems, way beyond the scope of RubyInstaller project. Even so, I try to help them out.

That is a time consuming tasks, being the only one with all the world knowledge of Windows…

Seriously guys, do you think I know all the answers to all your Windows projects under X, Y, Z version of OS, Rails, permissions, libraries and gem combination? I’m only human. /rant

Anyhow, progress has been made in getting both 1.8.x and 1.9.x working with the new MinGW based installer. Test packages (compressed with 7-zip) are available at the following URL:

http://rubyinstaller.org/downloads/

Be aware that no bug report will be accepted for those versions, yet.

Also, keep in mind that 1.9.1-p0 doesn’t complete it’s own tests on Windows, which is a real problem to proper distribute an official version.

When the Installers are going out for 1.8.6 and 1.9?

The updated-installers branch at GitHub contains the MSI recipes to build both 1.8 and 1.9 versions of the installer.

The following is the list of things that needs more work before release:

  • Installers requires Administrative privileges (elevated rights).

    Looking into a way to avoid it.

  • Does not ask about adding the Ruby to the PATH.

    It does always, which make co-existence with other Ruby a problem.

  • Lot of your gems will be broken.

    You could blame Ruby and rbconfig for this. Basically, MinGW and VC6, even they use the same CRT, they are marked as different platforms (i386-mingw32 and i386-mswin32).

    Several gems evaluate for mswin32 (even worse, some of them check RUBY_PLATFORM with win32 (see this post)

    Cannot fix all those gems, so is time for you to contribute too.

What can you do to help?

I was waiting for that question to show up! :-D

Download those versions (including the fake DevKit), put your helmet, gloves and start using it like I do. Some tips:

  • Add the compiler to the PATH when installing gems that contains extensions.

    If you gem fails during installation and shows the Building native extensions legend that means you need the compiler around

  • Check for RUBY_PLATFORM in the gems

    If the gem doesn’t work after that, peek into the gem code for RUBY_PLATFORM conditions and see if mingw is being considered

  • Ask the developer to provide native versions of the gem

    If the gem requires several libraries and other stuff. Politely request the gem author to create a native binary of that gem for Windows.

    Point him to rake-compiler project, and some projects that includes tasks for building cross platform packages.

As a last resource, ask them join rubyinstaller-users list and ask questions about to improve the cross-platform compatibility of their projects.

Hint: latest json gem needs some love ;-)

Final words

I come from the broadcast video industry, where a release early, release often approach doesn’t work since thousands of dollars can be lost for a couple of seconds downtime.

Releasing something with so many quirks will make people angry, and will not help on solve or improve the image Ruby on Windows already have.

But is as much I can do, it is time for you, Ruby developer, either on Linux, OSX or Windows to take care.

We are talking about Ruby and the Ruby Community, not just Windows.

(Via DEV_MEM.dump_to(:blog) – Multimedia systems blog.) Original Link: RubyInstaller – State of One-Click



Leave a Reply

  • Powered by WP Hashcash