JSON gem no longer have Windows binaries

1,021 views
Skip to first unread message

Luis Lavena

unread,
Apr 3, 2011, 8:35:53 PM4/3/11
to rubyin...@googlegroups.com
Hello,

After a long long long waiting, JSON gem now have yanked all the
Windows binaries [1]

After all, the binaries contained partial implementation either for
Ruby 1.8.x or Ruby 1.9.x that generated lot of issues discussed here
and other places across the Internet.

This means that to successfully install JSON, now you need to install
RubyInstaller Development Kit available in our site [2], and follow
the installation instructions documented in our wiki [3].

I believe the tradeoff between the installation of Development Kit
compared to the frustrations of newcomers is worth, at least for the
time being until I manage to get my recommended changes approved by
the gem author.

Wanted to post this as record of the requirements.

Cheers,

[1] https://rubygems.org/gems/json/versions
[2] http://rubyinstaller.org/downloads
[3] https://github.com/oneclick/rubyinstaller/wiki/Development-Kit
--
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

Aslak Hellesøy

unread,
Apr 25, 2011, 8:49:41 AM4/25/11
to RubyInstaller


On Apr 3, 8:35 pm, Luis Lavena <luislav...@gmail.com> wrote:
> Hello,
>
> After a long long long waiting, JSON gem now have yanked all the
> Windows binaries [1]
>

You do realise that by doing that you broke every single project that
depends on json and that once ran on Windows?
Cucumber is one of them.

Here is a golden rule of release management:

Builds should be repeatable. If I checkout a build from last year, and
rebuilt it, it should produce the same results. If you ever delete or
modify a published package in a package manager, you are likely to
break someone's build. Forcing someone to quickly upgrade is not a
reasonable solution as this introduces uncontrolled risk and
potentially other dependencies into a system.

I recommend you restore the yanked gems and deal with the problems of
the past releases by releasing new, better ones.

Aslak

Luis Lavena

unread,
Apr 25, 2011, 9:47:54 AM4/25/11
to rubyin...@googlegroups.com
On Mon, Apr 25, 2011 at 9:49 AM, Aslak Hellesøy
<aslak.h...@gmail.com> wrote:
>
>
> On Apr 3, 8:35 pm, Luis Lavena <luislav...@gmail.com> wrote:
>> Hello,
>>
>> After a long long long waiting, JSON gem now have yanked all the
>> Windows binaries [1]
>>
>
> You do realise that by doing that you broke every single project that
> depends on json and that once ran on Windows?
> Cucumber is one of them.
>

Sorry Aslak, but perhaps you weren't aware of what all the previous
binary releases of JSON gem did to us.

Binaries since 1.4.6 did work for 1.8.7 but not for 1.9.2

Binaries in 1.5.x did work for 1.9.2 but not for 1.8.7

Users never got any clue on why they didn't work.

Once users figure out the root of the issue, they removed the binary
gem, compiled from source using DevKit and worked.

Users using Bundler were unable to use this solution, Bundle was
always trying to install the binary gems.

Having these inconsistencies made JSON gem complete useless for lot of folks.

Having JSON gem install using DevKit is way more painless than all the
above issues, or not?

> Here is a golden rule of release management:
>
> Builds should be repeatable. If I checkout a build from last year, and
> rebuilt it, it should produce the same results. If you ever delete or
> modify a published package in a package manager, you are likely to
> break someone's build. Forcing someone to quickly upgrade is not a
> reasonable solution as this introduces uncontrolled risk and
> potentially other dependencies into a system.
>
> I recommend you restore the yanked gems and deal with the problems of
> the past releases by releasing new, better ones.
>

I have no power to do that, Florian did based on my request for the
past 2 months.

You can't re-release a broken binary gem.

You have no idea how many times I've tried to reach out to Florian to
fix the binary gems and he never responded to me.

Is not a matter of me not doing my effort anymore.

If you convince him to give me commit access to both the repo and
RubyGems to push fixes, I can do it.

Wish you luck in that quest, I've tried since last year.

Luis Lavena

unread,
Nov 21, 2011, 5:19:44 AM11/21/11
to 2potatocakes, rubyin...@googlegroups.com
Hello,

Responding to the list where this response should go...

On Mon, Nov 21, 2011 at 12:14 AM, 2potatocakes <2potat...@gmail.com> wrote:
>
> Luis, I understand the problems caused by this gem and the
> inconsistencies associated with ruby versions were causing you grief,
> but I tend to agree with Aslak. Recommending all previous mswin
> versions of a gem as widely used as json to be yanked was a BAD idea.
> I work on a massive rails application at work and because of time and
> budget constraints my work still hasn't allowed us to move past Ruby
> 1.8.6 yet, so I don't have access to the devkit for this particular
> project. I just had to switch machines recently and now I can't get a
> working copy of the JSON gem anywhere. I now have to download a copy
> of msvs just to build my own copy now of the json gem!?
>

You need 1.4.2? or 1.4.5?

Go here:

http://rubygems.org/gems/json/versions/1.4.5-x86-mswin32
http://rubygems.org/gems/json/versions/1.4.2-x86-mswin32

Download the file:

http://rubygems.org/downloads/json-1.4.5-x86-mswin32.gem
http://rubygems.org/downloads/json-1.4.2-x86-mswin32.gem

And then:

gem install --local json*.gem

You don't have to download neither RubyInstaller or DevKit.

People were stuck on buggy (to the memory leaking point) of JSON gem
and unable to update because the way binaries were handled

> There were still a lot of people using those gems effectively in
> production systems and not everybody using ruby on windows installed
> via the rubyinstaller..
>

And for the record:

http://help.rubygems.org/discussions/problems/541-the-case-about-yanking-json-windows-binaries

I did request yanking of JSON starting version 1.4.6, not all the previous ones.

But again, the gem author never answered any of my emails or attempts
to correct this situation.

Perhaps you have better luck. There is an unyank command so gems
*before* 1.4.6 (that is < 1.4.6) can be unyanked and made available to
you.

Good luck,

Reply all
Reply to author
Forward
0 new messages