Ruby 2.1 Release on Windows

7,366 views
Skip to first unread message

prot...@gmail.com

unread,
Jan 1, 2014, 2:44:18 PM1/1/14
to rubyin...@googlegroups.com
Any plans to be putting the 2.1 release out sometime soon?

Travis

Luis Lavena

unread,
Jan 1, 2014, 5:24:18 PM1/1/14
to rubyin...@googlegroups.com
Hello Travis,

Please see my responses below.

On Wed, Jan 1, 2014 at 4:44 PM, <prot...@gmail.com> wrote:
Any plans to be putting the 2.1 release out sometime soon?


As mentioned in a previous thread [1], attempt to restore our CI environment after an EC2 crash was necessary to see the build status of Ruby 2.1.

Building Ruby 2.1 presented 3 failures [2], mentioned in twitter [3], where 2 of those have been long standing issues that nobody have fixed or responded (and we are talking about 9 months old issues).

Considering these bugs and issues very important. Attempt to release a version of Ruby that is broken on the platform it is far worse than no release at all.

As mentioned before on this list, you can go ahead and build Ruby 2.1 at your own risk to scratch your own itch. The recipes are all in the RubyInstaller repository [4] and instructions are in the README.

Hope this makes sense and clears the picture on "why there hasn't been a release of Ruby 2.1"

-- 
Luis Lavena
AREA 17
-
Perfection in design is achieved not when there is nothing more to add,
but rather when there is nothing more to take away.
Antoine de Saint-Exupéry

P W

unread,
Jan 5, 2014, 10:27:09 AM1/5/14
to rubyin...@googlegroups.com
Hi Luis,

I have built Ruby 2.1.0 x86 on Windows successfully with the current installer, how do I go about testing it?

Luis Lavena

unread,
Jan 5, 2014, 12:27:05 PM1/5/14
to rubyin...@googlegroups.com

Hello,

Please see the readme in the repository, it describes the check task (check21)

Sorry for top posting. Sent from mobile.

On Jan 5, 2014 2:26 PM, "P W" <prus...@gmail.com> wrote:
Hi Luis,

I have built Ruby 2.1.0 x86 on Windows successfully with the current installer, how do I go about testing it?

--
You received this message because you are subscribed to the Google Groups "RubyInstaller" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rubyinstalle...@googlegroups.com.
To post to this group, send email to rubyin...@googlegroups.com.
Visit this group at http://groups.google.com/group/rubyinstaller.
For more options, visit https://groups.google.com/groups/opt_out.

P W

unread,
Jan 6, 2014, 11:52:55 AM1/6/14
to rubyin...@googlegroups.com
Okay I saw the rake targets for check (need to list with rake -AT) and tried running them 

There is a small set and a large set, only the large set has a few failures. It was the same for Ruby20 and Ruby21

rake check20 dkver=mingw64-32-4.7.2

Finished tests in 735.469499s, 16.0428 tests/s, 3017.5881 assertions/s.
11799 tests, 2219344 assertions, 6 failures, 2 errors, 78 skips
ruby -v: ruby 2.0.0p353 (2013-11-22) [i386-mingw32]
make: *** [yes-test-all] Error 8
rake aborted!
Command failed with status (2): [make check...]
F:/Sites/rubyinstaller/recipes/interpreter/ruby20.rake:174:in `block (4 levels) in <top (required)>'
F:/Sites/rubyinstaller/recipes/interpreter/ruby20.rake:173:in `block (3 levels) in <top (required)>'
Tasks: TOP => check20 => interpreter:ruby20:check
(See full trace by running task with --trace)

rake check21 dkver=mingw64-32-4.7.2 


Finished tests in 1136.258001s, 10.9737 tests/s, 2155.5457 assertions/s.
12469 tests, 2449256 assertions, 6 failures, 1 errors, 86 skips
ruby -v: ruby 2.1.0p0 (2013-12-25 revision 44422) [i386-mingw32]
make: *** [yes-test-all] Error 7
rake aborted!
Command failed with status (2): [make check...]
F:/Sites/rubyinstaller/recipes/interpreter/ruby21.rake:174:in `block (4 levels) in <top (required)>'
F:/Sites/rubyinstaller/recipes/interpreter/ruby21.rake:173:in `block (3 levels) in <top (required)>'
Tasks: TOP => check21 => interpreter:ruby21:check
(See full trace by running task with --trace)





Am I doing this correctly?

Alexander Gazarov

unread,
Jan 8, 2014, 7:37:59 AM1/8/14
to rubyin...@googlegroups.com
I don't quite understand, who is responsible for this issues? Does it mean that Ruby 2.1.0 doesn't run properly on Windows, and the Ruby development team doesn't care about this? Or these issues are something the Ruby Installer team is supposed to be working on, but doesn't for some reason?

Luis Lavena

unread,
Jan 8, 2014, 10:00:13 AM1/8/14
to rubyin...@googlegroups.com
On Wed, Jan 8, 2014 at 9:37 AM, Alexander Gazarov <unrea...@gmail.com> wrote:
I don't quite understand, who is responsible for this issues? Does it mean that Ruby 2.1.0 doesn't run properly on Windows, and the Ruby development team doesn't care about this? Or these issues are something the Ruby Installer team is supposed to be working on, but doesn't for some reason?


Hello Alex,

Let me try to explain:

RubyInstaller only builds and packages Ruby (you can say, vanilla flavour). It tries to alter the less as possible (only modifications are RubyGems for Ruby 1.9 and Tcl/Tk files locations)

We don't patch Ruby beyond these scenarios, as explained here: 

We trusts on Ruby tests to tell us is working or not.

Since beginning of 2013, some tests started to fail, either indicating a problem with the test (something that doesn't apply to Windows for example) or a deeper problem, like a setting that could result in other issues.

That is the case of two reported bugs:

#1 - TestSprintf#test_float

A bug report was filled to Ruby-Core:


Reporting the issue and confirming is a configuration flag or an incorrect piece of code, and this is affecting other platforms too.

Just 8 days ago (after 2.1.0 release and after numerous poking), the developer assigned to this issue committed a change.

Such change has not yet been backported to Ruby 2.1 (or 2.0)

Even more, the change might be incomplete (if you look a the last comment), so not sure about what is the status on that.

#2 - TestTime#test_marshal_broken_offset

Reported here:


And got solved only in trunk, not yet backported to 2.1 branch and was not part of 2.1.0 release.

Both issues are important: failed precision in floating numbers and failures in parse of marshalled data might lead to issues in users applications.

I'm a Ruby-Core committer, but that doesn't mean I can go and touch every piece of code if the intention of the change is not clear. There is a language barrier (Japanese) that is hard to overcome from both sides.

Sometimes we did releases with small impact failures, but not those.

I know lot of angry people that love to email me directly and complain that some random gem doesn't work, why I should add more hate to that?

As mentioned before, you are free to build the binaries using the RubyInstaller repository and it will build a functional version in the same way I build the installers.

For the case of Ruby 2.0 and Ruby 2.1, the devkit used is mingw64-32-4.7.2 and mingw64-64-4.7.2:

rake ruby20 DKVER=mingw64-32-4.7.2

You will need to clear the sandbox directory if you want to build with a different compiler or architecture.

---

In relation to responsibility: this is open source software. People contribute their free time to make it happen. Patches might be sent but everything depends on the willingness of others to get those fixed or merged.

Definitely everybody will appreciate more help to solve the issues, but so far, most of the people complains and don't offer any real help.

Regards,
-- 

Alexander Gazarov

unread,
Jan 8, 2014, 1:58:50 PM1/8/14
to rubyin...@googlegroups.com
Hi, Luis,

Thank you so much for the detailed information on the bugs! This makes the situation much clearer. I hope these patches will be incorporated in the next Ruby release.

By the way, I did a build myself with the Visual Studio as prescribed by the official documentation, but I couldn't get some gems like OpenSSL working, and I'm afraid that I don't have the time to sort this out.

I don't blame anyone for problems like this, I obviously didn't pay anything for the software, so I don't really have the right to demand anything. But developers also can't be blamed for having to choose a different technology which is more Windows-friendly.

Alex

Badal

unread,
Jan 9, 2014, 6:55:57 AM1/9/14
to rubyin...@googlegroups.com


Le mercredi 8 janvier 2014 16:00:13 UTC+1, Luis Lavena a écrit :

I know lot of angry people that love to email me directly and complain that some random gem doesn't work, why I should add more hate to that?

Dear Luis,

For many people, you *are* "Ruby on Windows". It is quite understandable, albeit sad, that they complain to you, using the unfriendly style quite common on forums. Please do not be too upset : those who are very happy with the work you do don't usually appear in such discussions. May be we should, as I do in this post.

Best wishes from France for the new year !
_md

pru.....@gmail.com

unread,
Jan 9, 2014, 8:00:59 AM1/9/14
to rubyin...@googlegroups.com
So how many tests are supposed to be failing now? It looks like even 2.0.0 has some test failures on Windows.

Anindya Chatterjee

unread,
Jan 24, 2014, 4:15:09 AM1/24/14
to rubyin...@googlegroups.com
Hi Luis,

According to the bug report, r44538 has fix for both the issues. As these fixes are not backported to 2.1, how can I build ruby installer with r44538?

Regards,

Anindya

Luis Lavena

unread,
Jan 24, 2014, 8:00:27 AM1/24/14
to rubyin...@googlegroups.com
Hello Anindya

On Fri, Jan 24, 2014 at 6:15 AM, Anindya Chatterjee <anid...@gmail.com> wrote:
Hi Luis,

According to the bug report, r44538 has fix for both the issues. As these fixes are not backported to 2.1, how can I build ruby installer with r44538?


You will end building Ruby 2.2, not Ruby 2.1

Next minor release is scheduled for february, and there will be a RubyInstaller release of it.

cyb3rc0de

unread,
Feb 9, 2014, 8:15:20 AM2/9/14
to rubyin...@googlegroups.com
With full respect Luis,
may I know the current state of ruby installer?

I would like to have 2.1.x working, but I am not sure when it will be available!

Thanks in advice!

johnny....@gmail.com

unread,
Apr 15, 2014, 1:05:49 AM4/15/14
to rubyin...@googlegroups.com
Hi Luis,

Just wanted to check progress on RubyInstaller for v 2.1.1. Have the blocker issues in the Ruby codebase been resolved? Thanks for all you great work.

Best,
Johnny

Luis Lavena

unread,
Apr 15, 2014, 8:26:46 PM4/15/14
to rubyin...@googlegroups.com
On Tue, Apr 15, 2014 at 2:05 AM, <johnny....@gmail.com> wrote:
Hi Luis,

Just wanted to check progress on RubyInstaller for v 2.1.1. Have the blocker issues in the Ruby codebase been resolved? Thanks for all you great work.


No progress has been made, the bugs are still present in ruby trunk and even I've poked to get those sorted out, still no response from maintainer on those changes.

I currently don't have the time to stalk people or be more aggressive about this subject.
-- 

johnny....@gmail.com

unread,
Apr 16, 2014, 12:28:00 AM4/16/14
to rubyin...@googlegroups.com
Is it a correct understanding that the remaining issues are:

TestSprintf#test_float (https://bugs.ruby-lang.org/issues/8358) <-- not fixed yet in trunk

TestTime#test_marshal_broken_offset (https://bugs.ruby-lang.org/issues/8358) <-- fixed in trunk, not backported to 2.1.x

Any other issues?

Hiroshi Shirosaki

unread,
Apr 16, 2014, 1:52:33 AM4/16/14
to rubyin...@googlegroups.com
On Wed, Apr 16, 2014 at 1:28 PM, <johnny....@gmail.com> wrote:
> Is it a correct understanding that the remaining issues are:
>
> TestSprintf#test_float (https://bugs.ruby-lang.org/issues/8358) <-- not
> fixed yet in trunk
>

TestSprintf#test_float was fixed in trunk and 2.1.x. (use SSE2 instructions)
The fix causes another issue on Linux and old hardware that does not
support SSE2.

> TestTime#test_marshal_broken_offset (https://bugs.ruby-lang.org/issues/8358)
> <-- fixed in trunk, not backported to 2.1.x
>

TestTime#test_marshal_broken_offset (https://bugs.ruby-lang.org/issues/9119)
has been backpoted.

Backport issue is https://bugs.ruby-lang.org/issues/9324

I don't know other critical issues.

--
Hiroshi Shirosaki

johnny....@gmail.com

unread,
Apr 18, 2014, 2:56:58 AM4/18/14
to rubyin...@googlegroups.com
@Hiroshi Shirosaki so it looks like at this time, assuming the TestSprintf#test_float fix isn't rolled back, Ruby 2.1.2 will build on Windows without errors, when it is released?

Luis Lavena

unread,
Apr 18, 2014, 11:04:00 AM4/18/14
to rubyin...@googlegroups.com
On Fri, Apr 18, 2014 at 3:56 AM, <johnny....@gmail.com> wrote:
@Hiroshi Shirosaki so it looks like at this time, assuming the TestSprintf#test_float fix isn't rolled back, Ruby 2.1.2 will build on Windows without errors, when it is released?


See [ruby-core:62087]


Seems segv also on Ubuntu 14.04 which might speed a new release.

I see some failures on trunk and 2_1 branch, might jump this weekend and try to help.
 

On Wednesday, April 16, 2014 2:52:33 PM UTC+9, Hiroshi Shirosaki wrote:
On Wed, Apr 16, 2014 at 1:28 PM,  <johnny....@gmail.com> wrote:
> Is it a correct understanding that the remaining issues are:
>
> TestSprintf#test_float (https://bugs.ruby-lang.org/issues/8358) <-- not
> fixed yet in trunk
>

TestSprintf#test_float was fixed in trunk and 2.1.x. (use SSE2 instructions)
The fix causes another issue on Linux and old hardware that does not
support SSE2.

> TestTime#test_marshal_broken_offset (https://bugs.ruby-lang.org/issues/8358)
> <-- fixed in trunk, not backported to 2.1.x
>

TestTime#test_marshal_broken_offset (https://bugs.ruby-lang.org/issues/9119)
has been backpoted.

Backport issue is https://bugs.ruby-lang.org/issues/9324

I don't know other critical issues.

--
Hiroshi Shirosaki

--
You received this message because you are subscribed to the Google Groups "RubyInstaller" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rubyinstalle...@googlegroups.com.
To post to this group, send email to rubyin...@googlegroups.com.
Visit this group at http://groups.google.com/group/rubyinstaller.
For more options, visit https://groups.google.com/d/optout.

Hiroshi Shirosaki

unread,
Apr 19, 2014, 8:31:39 AM4/19/14
to rubyin...@googlegroups.com
On Fri, Apr 18, 2014 at 3:56 PM, <johnny....@gmail.com> wrote:
> @Hiroshi Shirosaki so it looks like at this time, assuming the
> TestSprintf#test_float fix isn't rolled back, Ruby 2.1.2 will build on
> Windows without errors, when it is released?
>

I did test-all and noticed SSE2 fix is not enabled on mingw because
the condition is wrong for mingw.

https://bugs.ruby-lang.org/issues/8358#note-27

Here is my test-all result on Windows 8.1 with a patch.
https://gist.github.com/shirosaki/11082395

SSE2 can be enabled by configure options.
https://gist.github.com/shirosaki/11082395#file-ruby_configure_option-patch

One failure.
TestException#test_machine_stackoverflow

I've created an issue.
https://bugs.ruby-lang.org/issues/9739

Infinite recursion may cause SEGV, but I don't think this is critical.

johnny....@gmail.com

unread,
May 9, 2014, 7:43:19 AM5/9/14
to rubyin...@googlegroups.com
Ruby 2.1.2 released--are we now good for Windows Ruby Installer release?

Luis Lavena

unread,
May 10, 2014, 6:49:37 PM5/10/14
to rubyin...@googlegroups.com
On Fri, May 9, 2014 at 8:43 AM, <johnny....@gmail.com> wrote:
Ruby 2.1.2 released--are we now good for Windows Ruby Installer release?


johnny....@gmail.com

unread,
May 11, 2014, 11:52:09 PM5/11/14
to rubyin...@googlegroups.com
Pasting links for both outstanding issues:

test_float: https://bugs.ruby-lang.org/issues/8358

test_machine_stackoverflow: https://bugs.ruby-lang.org/issues/9739

johnny....@gmail.com

unread,
Jun 7, 2014, 3:30:41 PM6/7/14
to rubyin...@googlegroups.com
For tracking purposes:

test_float: https://bugs.ruby-lang.org/issues/8358 << fixed on 2.2.x

test_machine_stackoverflow: https://bugs.ruby-lang.org/issues/9739 << fixed on 2.2.x

Anil Kumar Reddy Gaddam

unread,
Jun 22, 2014, 1:50:24 AM6/22/14
to rubyin...@googlegroups.com
Both are Backported 

Luis Lavena

unread,
Jun 22, 2014, 6:56:33 PM6/22/14
to rubyin...@googlegroups.com
Correct, however now two new exceptions are showing:


But I believe is safe to perform a new release with those failures (if Ruby-Core determines is time for 2.1.3)

Cheers.
-- 

icy`

unread,
Sep 9, 2014, 12:04:51 PM9/9/14
to rubyin...@googlegroups.com
Hi,

Is there some sort of automated nightly build system for RubyInstaller 2.1?  If so, is it continuing to show 2 failed tests?  

Trying to get a sense for the status organized on one page instead of clicking a bunch of separate gists.

thanks,
icy`

Luis Lavena

unread,
Sep 9, 2014, 9:03:11 PM9/9/14
to rubyin...@googlegroups.com
Hello and welcome,

Please see my responses below.

On Tue, Sep 9, 2014 at 1:04 PM, icy` <vip...@gmail.com> wrote:
Hi,

Is there some sort of automated nightly build system for RubyInstaller 2.1?

No, our CI system (Jenkins) broke last year and we have been unable to setup a new environment (time and knowledge)

You can always build a local copy and run tests on your own. Only requirement is a working installation of Ruby and clone of RubyInstaller repository, everything is open source and 98% automated.
 
If so, is it continuing to show 2 failed tests?  


There are no failures on ruby_2_1 branch anymore:

 
Trying to get a sense for the status organized on one page instead of clicking a bunch of separate gists.


There will be news once next Ruby 2.1.x gets released. There will be no release until official Ruby release happen (which I believe is somewhere in September).

Feel free to build and test yourself in the meantime.

Hope that helps.
-- 
Reply all
Reply to author
Forward
0 new messages