JRuby versions prior to 1.6 did not support Ruby C extensions, and even in 1.6 the support is still "in development" and considered experimental. As of 1.7, it has been disabled and will likely be removed.
This page lists common C extensions and non-C alternatives you can use to replace them.
RMagick - Try RMagick4J (implements ImageMagick functionality in Java) or preferably use alternatives mini_magick & quick_magick. For simple resizing, cropping, greyscaling, etc look at image_voodoo. You can also use Java's Graphics2D.
Typhoeus - The C extension doesn't currently compile. There's no equivalent library for JRuby, but you might try any of the pure-Ruby HTTP clients (
net/http, httpclient, etc.). There are also several Java HTTP client libraries that will work (Apache HttpClient, HttpURLConnection, etc).
Update: As of May 2012, Typheous works under JRuby.
(I would delete this item from the list, but taking the conservative path.)
mysql - Use activerecord-jdbc-adapter instead along with
mysql2 - Use activerecord-jdbc-adapter instead along with
sqlite3 - Use activerecord-jdbc-adapter instead along with
Nokogiri - For best results, use the pure-Java version of Nokogiri (default after v1.5).
yajl-ruby - Try
json_pure instead. Unfortunately there is no known equivalent JSON stream parser.
bson_ext isn't used with JRuby. Instead, some native Java extensions are bundled with the
win32ole - Use the
jruby-win32ole gem (preinstalled in JRuby's Windows installer).
Please add to this list with your findings.
Note that the JRuby-Lint gem parses the contents of the list above to use for its Ruby gem checker. In order for JRuby-Lint to use the information, please adhere to the
gem_name - instructions format.
Last edited by Helmut Michael Juskewycz,