[Rubygems-developers] Are pre-compiled gems for Windows available anymore under 0.9.5?

Luis Lavena luislavena at gmail.com
Tue Nov 20 14:39:31 EST 2007

On Nov 20, 2007 4:16 PM, Wes Gamble <weyus at att.net> wrote:
> Luis, thanks for the information.  Just to be clear, my initial attempt
> to use --platform _was_ incorrect (using 80 instead of 60),
> but specifying x86-mswin32-60 also does not work, which makes sense,
> since I assume that this is what is used if I don't specify
> --platform explicitly.

I know, but just wanted to state that in a mail for the record ;-)

Anyway, I'm seeing this behavior:

Some gems uses 'mswin32' (Gem::Platform::WIN32) as specification
platform, get parsed by RubyGems 0.9.5 in this way:

D:\Users\Luis\sources\oss\rubygems-trunk>irb -Ilib
irb(main):001:0> require 'rubygems'
=> true
irb(main):002:0> Gem::Platform.new('mswin32')
=> #<Gem::Platform:0x15d0402 @cpu=nil, @os="mswin32", @version=nil>

Other gems, uses ::CURRENT to set the platform, and CURRENT is
interpreted as RUBY_PLATFORM (i386-mswin32):

irb(main):003:0> Gem::Platform.new(RUBY_PLATFORM)
=> #<Gem::Platform:0x15cebf2 @cpu="x86", @os="mswin32", @version=nil>


irb(main):008:0> Gem::Platform.local === Gem::Platform.new('i386-mswin32')
=> true
irb(main):009:0> Gem::Platform.local === Gem::Platform.new('mswin32')
=> false

Eric: could see in which place of install_command the platform is
checked... and there is no 'exception' to the 'mswin32' and
'i386-mswin32' rule.

Mea culpa: some gems opted for the WIN32 platform 'mswin32' platform
set in the gem platform specification file, but this is wrong and
should have used CURRENT all the time.

Mongrel, like rjb shows this problem, and we need to fix it in some
place (either rubygems or the published gems).

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

More information about the Rubygems-developers mailing list