<?xml version="1.0" encoding="UTF-8"?>
<feed xml:lang="en-US" xmlns="http://www.w3.org/2005/Atom">
  <title>Nick Sieger: JRuby 1.0.3: No Java-based extension library backward compatibility</title>
  <id>tag:blog.nicksieger.com,2005:Typo</id>
  <generator uri="http://www.typosphere.org" version="4.0">Typo</generator>
  <link href="http://blog.nicksieger.com/xml/atom10/article/356/feed.xml" rel="self" type="application/atom+xml"/>
  <link href="http://blog.nicksieger.com/articles/2007/12/19/jruby-1-0-3-no-bc" rel="alternate" type="text/html"/>
  <updated>2008-01-02T17:36:49+00:00</updated>
  <entry>
    <author>
      <name>Nick</name>
    </author>
    <id>urn:uuid:08a250bd-5c64-4118-9020-28aa969d042d</id>
    <published>2008-01-02T17:36:49+00:00</published>
    <updated>2008-01-02T17:36:49+00:00</updated>
    <title>Comment on JRuby 1.0.3: No Java-based extension library backward compatibility by Nick</title>
    <link href="http://blog.nicksieger.com/articles/2007/12/19/jruby-1-0-3-no-bc#comment-360" rel="alternate" type="text/html"/>
    <content type="html">&lt;p&gt;Shahfazliz, Kaj: looks like your problem has been tracked here too: &lt;a href='http://jira.codehaus.org/browse/JRUBY-1861' rel="nofollow"&gt;JRUBY-1861&lt;/a&gt;. Please follow the updates there.&lt;/p&gt;

&lt;p&gt;Christian: no, not really :). Despite the lack of mention of 1.4 on the jruby-extras page, the latest should be 1.4. Check and see the name of the goldspike jar file that gets installed when you create the war.&lt;/p&gt;</content>
  </entry>
  <entry>
    <author>
      <name>Kaj Hejer</name>
    </author>
    <id>urn:uuid:d5e40897-0426-4eae-9467-9cc0a8c11a8c</id>
    <published>2007-12-31T23:57:21+00:00</published>
    <updated>2007-12-31T23:57:21+00:00</updated>
    <title>Comment on JRuby 1.0.3: No Java-based extension library backward compatibility by Kaj Hejer</title>
    <link href="http://blog.nicksieger.com/articles/2007/12/19/jruby-1-0-3-no-bc#comment-359" rel="alternate" type="text/html"/>
    <content type="html">&lt;p&gt;Hi! &lt;/p&gt;

&lt;p&gt;Did you solve your &amp;#8220;private method&amp;#8230;&amp;#8221; error?&lt;/p&gt;

&lt;p&gt;I have this issue too and filed a report about this, see
&lt;a href='http://tinyurl.com/285ph4' rel="nofollow"&gt;http://tinyurl.com/285ph4&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;-Kaj :)&lt;/p&gt;</content>
  </entry>
  <entry>
    <author>
      <name>Shahfazliz Shahron</name>
    </author>
    <id>urn:uuid:56da8ae5-b7e9-4a7d-8cd5-e139a547d4a9</id>
    <published>2007-12-28T09:17:38+00:00</published>
    <updated>2007-12-28T09:17:39+00:00</updated>
    <title>Comment on JRuby 1.0.3: No Java-based extension library backward compatibility by Shahfazliz Shahron</title>
    <link href="http://blog.nicksieger.com/articles/2007/12/19/jruby-1-0-3-no-bc#comment-358" rel="alternate" type="text/html"/>
    <content type="html">when i ran &amp;#8220;jruby -S rake war:standalone:create&amp;#8221;
i get this error..

rake aborted!
private method `makedirs&amp;#8217; called for File:Class

is it because i&amp;#8217;m using Goldspike 1.3? i&amp;#8217;m using jruby 1.0.3 and i used the following command to install goldspike
&amp;#8220;jruby script/plugin install &lt;a href='http://jruby-extras.rubyforge.org/svn/trunk/rails-integration/plugins/goldspike' rel="nofollow"&gt;http://jruby-extras.rubyforge.org/svn/trunk/rails-integration/plugins/goldspike&lt;/a&gt;&amp;#8221;</content>
  </entry>
  <entry>
    <author>
      <name>Christian Seiler</name>
    </author>
    <id>urn:uuid:557ef503-9b9e-4b81-8b9b-5729e34f922f</id>
    <published>2007-12-21T11:31:45+00:00</published>
    <updated>2007-12-21T11:31:45+00:00</updated>
    <title>Comment on JRuby 1.0.3: No Java-based extension library backward compatibility by Christian Seiler</title>
    <link href="http://blog.nicksieger.com/articles/2007/12/19/jruby-1-0-3-no-bc#comment-357" rel="alternate" type="text/html"/>
    <content type="html">&lt;p&gt;Is there an official homepage of Goldspike? The latest version on &lt;a href='http://rubyforge.org/projects/jruby-extras' rel="nofollow"&gt;http://rubyforge.org/projects/jruby-extras&lt;/a&gt; is still 1.3 &lt;/p&gt;</content>
  </entry>
  <entry>
    <author>
      <name>Nick Sieger</name>
    </author>
    <id>urn:uuid:b01831fd-1ccc-4898-a939-add1f8c74d9d</id>
    <published>2007-12-19T04:14:00+00:00</published>
    <updated>2007-12-19T04:53:17+00:00</updated>
    <title>JRuby 1.0.3: No Java-based extension library backward compatibility</title>
    <link href="http://blog.nicksieger.com/articles/2007/12/19/jruby-1-0-3-no-bc" rel="alternate" type="text/html"/>
    <category term="jruby" scheme="http://blog.nicksieger.com/articles/tag/jruby"/>
    <content type="html">&lt;p&gt;&lt;a href="http://docs.codehaus.org/display/JRUBY/2007/12/15/JRuby+1.0.3+Released"&gt;JRuby 1.0.3 just came out&lt;/a&gt; a couple of days ago. It was a decent point release; a &lt;a href="http://jira.codehaus.org/browse/JRUBY/fixforversion/13811"&gt;handful of good bugs&lt;/a&gt; fixed. Normally a 1.0.3 release would not be all that exciting, but during this cycle, trunk&amp;#8217;s internal API (upon which several JRuby extensions depend) started to diverge. Unfortunately, this forced us to face a decision: either fork and maintain two versions of every extension (one for 1.0.x and one for 1.1 and beyond), or break backwards compatibility.&lt;/p&gt;

&lt;p&gt;We ended up choosing the latter, prefering a single schism to parallel version hell. It&amp;#8217;s probably going to cause some pain for us (in number of support inquiries), and especially for those who might be looking casually at JRuby and trying it for the first time, for example via &lt;a href="http://ruby.netbeans.org/"&gt;NetBeans&lt;/a&gt;. NetBeans 6.0 recently shipped with JRuby 1.0.2, which is now incompatible with the latest versions of several high-demand gems. Look for the &lt;a href="http://bits.netbeans.org/download/trunk/nightly/"&gt;6.1 nightly builds&lt;/a&gt; to be fixed soon, and hopefully the 6.0.1 update can include the new release as well. (If you&amp;#8217;re using NetBeans 6 and have run into this problem, you can download and unpack JRuby 1.0.3 and &lt;a href="http://www.netbeans.org/kb/60/ruby/setting-up.html"&gt;show NetBeans where it is&lt;/a&gt;.)&lt;/p&gt;

&lt;p&gt;So when in doubt, &lt;strong&gt;grab the &lt;a href="http://wiki.jruby.org/wiki/Main_Page#Downloads"&gt;most recent JRuby release&lt;/a&gt; possible to minimize compatibility issues&lt;/strong&gt;. To attempt to be as clear as possible about which versions work with what, I&amp;#8217;ve included a table below. I&amp;#8217;ll fill in with updates as I receive them, and let me know if a piece of software you use isn&amp;#8217;t mentioned, but should be.&lt;/p&gt;

&lt;p&gt;&lt;style type="text/css"&gt;
table#vers {
  border-color: #999;
  border-width: 0 0 1px 1px;
  border-style: solid;
  margin: 0px auto;
  width: 80%;
}
table#vers th, table#vers td {
  border-color: #999;
  border-width: 1px 1px 0 0;
  border-style: solid;
  margin: 0px;
  padding: 4px;
}
&lt;/style&gt;&lt;/p&gt;

&lt;table id="vers" summary=""&gt;
  &lt;thead&gt;
    &lt;th&gt;&amp;nbsp;&lt;/th&gt;&lt;th colspan="2"&gt;JRuby Version&lt;/th&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;1.0 - 1.0.2, 1.1b1&lt;/td&gt;&lt;td&gt; 1.0.3, 1.1b2&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;strong&gt;Library&lt;/strong&gt;&lt;/td&gt;&lt;td colspan="2"&gt;&amp;nbsp;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;rubygems&lt;/td&gt;&lt;td&gt;&amp;lt;= 0.9.4&lt;/td&gt;&lt;td&gt;&amp;lt;= 0.9.4, = 1.0 *&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;rails&lt;/td&gt;&lt;td&gt;&amp;lt;= 1.2.6,&lt;br/&gt;&amp;gt;= 2.0.x &amp;dagger;&lt;/td&gt;&lt;td&gt;any&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;activerecord-jdbc&lt;/td&gt;&lt;td&gt;&amp;lt;= 0.6&lt;/td&gt;&lt;td&gt;&amp;gt;= 0.7&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;jruby-openssl&lt;/td&gt;&lt;td&gt;&amp;lt;= 0.0.5&lt;/td&gt;&lt;td&gt;&amp;gt;= 0.1&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;goldspike&lt;/td&gt;&lt;td&gt;1.3&lt;/td&gt;&lt;td&gt;1.4&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;mongrel&lt;/td&gt;&lt;td&gt;any &amp;Dagger;&lt;/td&gt;&lt;td&gt;1.1.2&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;p&gt;* Rubygems 0.9.5 may not be compatible with any JRuby version; we won&amp;#8217;t ship it with a release&lt;br/&gt;
&amp;dagger; requires jruby-openssl (0.0.5 or earlier) to be installed&lt;br/&gt;
&amp;Dagger; combination needs testing with JRuby 1.0.2 and Mongrel 1.1.2&lt;/p&gt;

&lt;p&gt;Other libraries not mentioned here, such as &lt;a href="http://ola-bini.blogspot.com/search/label/javasand" title="Ola Bini on Java, Lisp, Ruby and AI: javasand"&gt;javasand&lt;/a&gt; (JRuby version of &lt;a href="http://code.whytheluckystiff.net/sandbox/" title="The Freaky Freaky Sandbox: clone and gut Ruby itself!"&gt;freaky freaky sandbox&lt;/a&gt;) or &lt;a href="http://rubyforge.org/projects/jruby-extras/" title="RubyForge: A nursery for JRuby extras: Project Info"&gt;jparsetree&lt;/a&gt; (JRuby version of &lt;a href="http://rubyforge.org/projects/parsetree/" title="RubyForge: ParseTree - ruby parse tree tools: Project Info"&gt;ParseTree&lt;/a&gt;) will also likely need updating for 1.0.3 and 1.1. For library authors needing a hint for which way to go, &lt;a href="http://fisheye.codehaus.org/browse/jruby/trunk/jruby/src/org/jruby/javasupport/JavaEmbedUtils.java?r=root:#l65"&gt;here&lt;/a&gt; are &lt;a href="http://fisheye.codehaus.org/browse/jruby/trunk/jruby/src/org/jruby/RubyObjectAdapter.java?r=root:"&gt;some&lt;/a&gt; &lt;a href="http://fisheye.codehaus.org/browse/jruby/trunk/jruby/src/org/jruby/RubyRuntimeAdapter.java?r=root:"&gt;pointers&lt;/a&gt; to our temporary bridge API.&lt;/p&gt;

&lt;p&gt;Lessons learned? An extension API and migration strategy might be normally be a good thing to nail down before a 1.0 release. Hopefully, you&amp;#8217;ll forgive us that blunder this one time, and we&amp;#8217;ll make sure to get this mess cleaned up in a future 1.x release, and any pains you had to go through with version incompatibilities will be soothed by the continual high-quality releases we&amp;#8217;ve been able to craft.&lt;/p&gt;</content>
  </entry>
</feed>
