Skip to content

Instantly share code, notes, and snippets.

@nuclearsandwich
Created May 25, 2012 04:31
Show Gist options
  • Save nuclearsandwich/2785780 to your computer and use it in GitHub Desktop.
Save nuclearsandwich/2785780 to your computer and use it in GitHub Desktop.
Something funky with JRuby when bundling standalone.
# A sample Gemfile
source "https://rubygems.org"
# gem "rails"
gem "nokogiri"
└─> ls -a
. .. bundle .bundle Gemfile
└─> ls -R bundle/
bundle/:
jruby
bundle/jruby:
1.8
bundle/jruby/1.8:
└─> ls -R .bundle/
.bundle/:
config
└─> cat .bundle/config
---
BUNDLE_PATH: bundle
BUNDLE_DISABLE_SHARED_GEMS: "1"
└─> echo $_JAVA_AWT_WM_NONREPARENTING
1
└─> echo $_JAVA_OPTIONS
-Dawt.useSystemAAFontSettings=on -Dswing.aatext=true -Dswing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel
└─> jruby -v
jruby 1.6.7.2 (ruby-1.8.7-p357) (2012-05-01 26e08ba) (OpenJDK 64-Bit Server VM 1.6.0_24) [linux-amd64-java]
└─> gem list
*** LOCAL GEMS ***
bouncy-castle-java (1.5.0146.1)
bundler (1.1.3)
jruby-launcher (1.0.14 java)
jruby-openssl (0.7.7)
rack (1.4.1)
rack-protection (1.2.0)
rake (0.9.2.2)
rvm (1.11.3.3)
sinatra (1.3.2)
tilt (1.3.3)
└─> mkdir whtf
└─> cd whtf/
└─> bundle init
Writing new Gemfile to /home/steven/Code/ruby/whtf/Gemfile
└─> vim Gemfile
└─> echo 'gem "nokogiri"' >> Gemfile
└─> ls -a
. .. Gemfile
└─> bundle install --standalone
Fetching gem metadata from https://rubygems.org/.JRuby limited openssl loaded. http://jruby.org/openssl
gem install jruby-openssl for full support.
Unfortunately, a fatal error has occurred. Please report this error to the Bundler issue tracker at https://github.com/carlhuda/bundler/issues so that we can fix it. Please include the full output of the command, your Gemfile and Gemfile.lock. Thanks!
LoadError: OpenSSL::SSL requires the jruby-openssl gem
(root) at /home/steven/.rvm/rubies/jruby-1.6.7.2/lib/ruby/site_ruby/shared/jruby/openssl/autoloads/ssl.rb:8
use_ssl= at /home/steven/.rvm/rubies/jruby-1.6.7.2/lib/ruby/site_ruby/shared/jruby/openssl/autoloads/ssl.rb:124
ssl at /home/steven/.rvm/gems/jruby-1.6.7.2@global/gems/bundler-1.1.3/lib/bundler/vendor/net/http/persistent.rb:448
connection_for at /home/steven/.rvm/gems/jruby-1.6.7.2@global/gems/bundler-1.1.3/lib/bundler/vendor/net/http/persistent.rb:216
request at /home/steven/.rvm/gems/jruby-1.6.7.2@global/gems/bundler-1.1.3/lib/bundler/vendor/net/http/persistent.rb:358
fetch at /home/steven/.rvm/gems/jruby-1.6.7.2@global/gems/bundler-1.1.3/lib/bundler/fetcher.rb:135
fetch_dependency_remote_specs at /home/steven/.rvm/gems/jruby-1.6.7.2@global/gems/bundler-1.1.3/lib/bundler/fetcher.rb:163
fetch_remote_specs at /home/steven/.rvm/gems/jruby-1.6.7.2@global/gems/bundler-1.1.3/lib/bundler/fetcher.rb:122
specs at /home/steven/.rvm/gems/jruby-1.6.7.2@global/gems/bundler-1.1.3/lib/bundler/fetcher.rb:70
remote_specs at /home/steven/.rvm/gems/jruby-1.6.7.2@global/gems/bundler-1.1.3/lib/bundler/source.rb:234
each at org/jruby/RubyArray.java:1615
remote_specs at /home/steven/.rvm/gems/jruby-1.6.7.2@global/gems/bundler-1.1.3/lib/bundler/source.rb:232
fetch_specs at /home/steven/.rvm/gems/jruby-1.6.7.2@global/gems/bundler-1.1.3/lib/bundler/source.rb:165
specs at /home/steven/.rvm/gems/jruby-1.6.7.2@global/gems/bundler-1.1.3/lib/bundler/source.rb:70
index at /home/steven/.rvm/gems/jruby-1.6.7.2@global/gems/bundler-1.1.3/lib/bundler/definition.rb:205
each at org/jruby/RubyArray.java:1615
index at /home/steven/.rvm/gems/jruby-1.6.7.2@global/gems/bundler-1.1.3/lib/bundler/definition.rb:202
build at /home/steven/.rvm/gems/jruby-1.6.7.2@global/gems/bundler-1.1.3/lib/bundler/index.rb:9
index at /home/steven/.rvm/gems/jruby-1.6.7.2@global/gems/bundler-1.1.3/lib/bundler/definition.rb:198
resolve at /home/steven/.rvm/gems/jruby-1.6.7.2@global/gems/bundler-1.1.3/lib/bundler/definition.rb:192
specs at /home/steven/.rvm/gems/jruby-1.6.7.2@global/gems/bundler-1.1.3/lib/bundler/definition.rb:127
resolve_remotely! at /home/steven/.rvm/gems/jruby-1.6.7.2@global/gems/bundler-1.1.3/lib/bundler/definition.rb:122
run at /home/steven/.rvm/gems/jruby-1.6.7.2@global/gems/bundler-1.1.3/lib/bundler/installer.rb:46
install at /home/steven/.rvm/gems/jruby-1.6.7.2@global/gems/bundler-1.1.3/lib/bundler/installer.rb:12
install at /home/steven/.rvm/gems/jruby-1.6.7.2@global/gems/bundler-1.1.3/lib/bundler/cli.rb:220
send at org/jruby/RubyKernel.java:2076
run at /home/steven/.rvm/gems/jruby-1.6.7.2@global/gems/bundler-1.1.3/lib/bundler/vendor/thor/task.rb:21
invoke_task at /home/steven/.rvm/gems/jruby-1.6.7.2@global/gems/bundler-1.1.3/lib/bundler/vendor/thor/invocation.rb:118
dispatch at /home/steven/.rvm/gems/jruby-1.6.7.2@global/gems/bundler-1.1.3/lib/bundler/vendor/thor.rb:263
start at /home/steven/.rvm/gems/jruby-1.6.7.2@global/gems/bundler-1.1.3/lib/bundler/vendor/thor/base.rb:386
(root) at /home/steven/.rvm/gems/jruby-1.6.7.2@global/gems/bundler-1.1.3/bin/bundle:13
load at org/jruby/RubyKernel.java:1058
(root) at /home/steven/.rvm/gems/jruby-1.6.7.2@global/bin/bundle:19
# This workaround was proposed by @mpapis when discussing this in #rvm on Freenode. It worked for me.
└─> jruby -ropenssl -S bundle install --standalone
Picked up _JAVA_OPTIONS: -Dawt.useSystemAAFontSettings=on -Dswing.aatext=true -Dswing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel
Fetching gem metadata from https://rubygems.org/.......
Installing nokogiri (1.5.2)
Using bundler (1.1.3)
Your bundle is complete! It was installed into ./bundle
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment