RubyInstaller 2.0.0-p195 released

In combination with the rest of the RubyInstaller team, I’m very
pleased to announce the release of RubyInstaller packages for Ruby
2.0.0-p195

This new version of Ruby also brings new changes to RubyInstaller.

Starting with 2.0.0, the packages will be provided in two versions:
32bits (x86) and 64bits (x64).

This is possible thanks to newer compiler provided by mingw-w64 project.

Over the past months our Continous Integration worker has been compiling
and
running tests against GCC 4.7.2, ensuring this version satisfy the
compilation
requirements of Ruby.

This also means newer DevKit package is required to use with this
version.

As usual, installer and 7z packages are available at RubyInstaller
website and RubyForge for download:

http://rubyforge.org/frs/?group_id=167&release_id=47240

For verification, MD5 signatures of each file released are provided:

c243bb334fd4f19047ed145d9b5db042 *ruby-2.0.0-p195-doc-chm.7z
6df8ea7ff64abf86c9f880381ddbd09d *ruby-2.0.0-p195-i386-mingw32.7z
31c7f19e02566bf4f40dfd68f0797348 *ruby-2.0.0-p195-x64-mingw32.7z
b3ecf760be8682e8a33d1f423ee16f77 *rubyinstaller-2.0.0-p195.exe
3723f8eeacd58b1ee05202b51e7bdaf7 *rubyinstaller-2.0.0-p195-x64.exe

Installer is also digitally signed to avoid alterations and UAC
warnings.

You can read Ruby’s own announcement here:

http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/407420

= What’s new in Ruby, for Windows users?

Ruby’s announcement was generic in relation to all the new features
added to
the language.

However, it missed enhancements specific to our platform of choice.

  • Enhancements:
    • Faster startup due improved Windows-specific API. [Bug #6836]
    • Support ANSI-colors out of the box without the need of external
      tools
      or gems. [Feature #6418]
    • Fixes for native 64bits builds for Windows under MinGW

= What’s new in RubyInstaller?

Beyond what is covered by Ruby itself, we have our own set of
improvements:

  • Enhancements:

    • Upgraded Ruby 2.0.0 to patchlevel 195
    • Upgraded OpenSSL to version 1.0.0k
    • Upgraded rb-readline to 0.5.0.pre.1 (compatible with Ruby 2.0)
  • Bugfixes:

    • Generate documentation for target version of Ruby

= Important Notes

  • Ruby 2.0.0-p195 is brand new

While officially 2.0.0 is stable, that doesn’t mean all the software
will
magically work on it.

Use 2.0.0 for development and verify your application, scripts and tools
works
properly before deciding to run this in your production environment.

  • Existing pre-compiled gems are not Ruby 2.0 compatible

Ruby 2.0 introduces ABI breakage which means compiled C extensions with
previous
1.9.3 will work with Ruby 2.0.

DO NOT install Ruby 2.0 on top of existing Ruby 1.9.3, or try to use
compiled
extensions with it.

You will be required to force compilation of those gems:

gem install <name> --platform=ruby

This will require you have the extra dependencies required for that gem
to
compile. Look at the gem documentation for the requirements.

  • Do not use other DevKit version than the one recommended

This version of Ruby has been compiled and optimized for mingw-w64 GCC
4.7.2.

Use of older version of DevKit package to compile gems might result in
compilation issues during gem installation or simply segfaults.

Look for the DevKit installers identified with the name
‘DevKit-mingw64-32’
and
‘DevKit-mingw64-64’ for 32 and 64 bits respectively.

= Alternate download links

Sometimes RubyForge might have issues when trying to download the above
files.

Please try adding “/noredirect” to the file download URLs so skip the
entire
RubyForge’s mirror functionality.

If that still doesn’t work, try using RubyInstaller CDN directly by
using
above filenames combined with the archive folder:

http://cdn.rubyinstaller.org/archives/2.0.0-p195/<filename.ext>

Same applies to DevKit URLs:

http://cdn.rubyinstaller.org/archives/devkits/<filename.ext>

Regards,

I installed ruby-2.0.0-p195 on Windows 7 Premium Home Edition (64-bit)
but it has 32-bit numbers versus 64-bit ones.

So if you do this you get

(2**32).class
=> Bignum

For a 64-bit build numbers should be Fixnum all the way up to (2**63-1).

On my VirtualBox install of Linux Mint 14 (64-bit) that is what I get
for rvm install of ruby-2.0.0-p195

On 2013-May-20, at 12:24 , Jabari Z. wrote:

for rvm install of ruby-2.0.0-p195
Just ask ruby for the size of a known Fixnum:

$ ruby -v -e ‘puts 1.size’
ruby 2.0.0p195 (2013-05-14 revision 40734) [x86_64-darwin11.4.2]
8

Fixnum#size returns the number of bytes in the representation. On a
32-bit system, you’d get 1.size==4 instead.

-ROb

Hi,

2013/5/21 Rob B. [email protected]:

For a 64-bit build numbers should be Fixnum all the way up to (2**63-1).
Fixnum#size returns the number of bytes in the representation. On a 32-bit
system, you’d get 1.size==4 instead.

-ROb

Windows uses LLP64 data models, which maintains compatibility with
32-bit code by leaving both int and long as 32-bit.

C:\Users\phasis>ruby -ve ‘puts 1.size’
ruby 2.0.0p195 (2013-05-14) [i386-mingw32]
4

C:\Users\phasis>ruby -ve ‘puts 1.size’
ruby 2.0.0p195 (2013-05-14) [x64-mingw32]
4

C:\Users\phasis>ruby -ve “puts [‘a’].pack(‘P’).length”
ruby 2.0.0p195 (2013-05-14) [i386-mingw32]
4

C:\Users\phasis>ruby -ve “puts [‘a’].pack(‘P’).length”
ruby 2.0.0p195 (2013-05-14) [x64-mingw32]
8

Refer to 64-bit computing - Wikipedia

Regards,
Park H.

Hi,

ruby20.chm is Generated by RDoc 3.12.

Look like lost some method document:

OpenSSL::Cipher
Public Instance Methods
auth_data=
auth_tag
auth_tag=
authenticated?

maybe rdoc version should upgrade to 4.0?

2013/5/17 Luis L. [email protected]

Heesob P. wrote in post #1109662:

Hi,

2013/5/21 Rob B. [email protected]:

For a 64-bit build numbers should be Fixnum all the way up to (2**63-1).
Fixnum#size returns the number of bytes in the representation. On a 32-bit
system, you’d get 1.size==4 instead.

-ROb

Windows uses LLP64 data models, which maintains compatibility with
32-bit code by leaving both int and long as 32-bit.

C:\Users\phasis>ruby -ve ‘puts 1.size’
ruby 2.0.0p195 (2013-05-14) [i386-mingw32]
4

C:\Users\phasis>ruby -ve ‘puts 1.size’
ruby 2.0.0p195 (2013-05-14) [x64-mingw32]
4

C:\Users\phasis>ruby -ve “puts [‘a’].pack(‘P’).length”
ruby 2.0.0p195 (2013-05-14) [i386-mingw32]
4

C:\Users\phasis>ruby -ve “puts [‘a’].pack(‘P’).length”
ruby 2.0.0p195 (2013-05-14) [x64-mingw32]
8

Refer to 64-bit computing - Wikipedia

Regards,
Park H.

So what is the effective difference between what you can/can’t do with
the 64-bit version versus 32-bits? Greater memory space, etc?

I want to do math with large numbers and assumed the 64-bit version
would be faster for large numbers, but is that assumption true?

Hi,

2013/5/24 Jabari Z. [email protected]:

Windows uses LLP64 data models, which maintains compatibility with
C:\Users\phasis>ruby -ve “puts [‘a’].pack(‘P’).length”
Park H.

So what is the effective difference between what you can/can’t do with
the 64-bit version versus 32-bits? Greater memory space, etc?

The terms 32-bit and 64-bit refer to the way a computer’s processor
(also called a CPU), handles information. The 64-bit version of
Windows handles large amounts of random access memory (RAM) more
effectively than a 32-bit system[1]

I want to do math with large numbers and assumed the 64-bit version
would be faster for large numbers, but is that assumption true?

Win 64 is usually SLOWER than Win 32, because every instruction and
every piece of data has to be loaded in a larger chunk, and access to
RAM is a bottleneck. Win 64 will be faster only when large amounts of
consecutive data need to be read, such as in heavy graphics
applications, video editing etc.[2]

Refer to
1.
http://windows.microsoft.com/en-id/windows7/32-bit-and-64-bit-windows-frequently-asked-questions
2. http://www.makeuseof.com/tag/difference-32-bit-64-bit-windows/

Regards,
Park H.

OK, here is what seems to be the issue.

There are currently two builds for 2.0.0-p195, listed below:

Ruby 2.0.0-p195
Ruby 2.0.0-p195 (x64)

and three different DevKits:

DevKit-tdm-32-4.5.2-20111229-1559-sfx.exe
DevKit-mingw64-32-4.7.2-20130224-1151-sfx.exe
DevKit-mingw64-64-4.7.2-20130224-1432-sfx.exe

I have Window 7 Home Premium 64-bit on an Intel I5 64-bit cpu.

I have installed both versions for 2.0.0-p195, and both are built only
for 32-bits. However, the DevKits are built for both 32-bits build for
64-bits cpsu (mingw64-32) and 64-bit builds for 64-bit cpus
(mingw64-64).

What seems to be missing is a full mingw64-64 build of 2.0.0-p195 itself
for it to utilize the full 64-bit registers for 64-bit cpus, as is the
case for native builds with Linux on 64-bit cpus.

If Ruby 2.0.0-p195 (x64) is still just a 32-bit build for 64-bit cpus
how can DevKit-mingw64-64 be used to build 64-bit gems when there is no
full mingw64-64 build available for Ruby?