Question

I have a project working on Ruby-1.9.3-p392 and i try to load it with Jruby (jruby-head installed with rvm, it is currently jruby 1.7.4.dev (1.9.3p392))

All rake tasks fail with the following trace

bundle exec rake -T
rake aborted!
load error: pg_ext -- java.lang.RuntimeException: C extension initialized against invalid ruby runtime
org/jruby/RubyKernel.java:1028:in `require'
/home/dmitry/.rvm/gems/jruby-head/gems/pg-0.14.1/lib/pg.rb:4:in `(root)'
org/jruby/RubyKernel.java:1028:in `require'
/home/dmitry/.rvm/gems/jruby-head/gems/bundler-1.3.4/lib/bundler/runtime.rb:1:in `(root)'
org/jruby/RubyArray.java:1614:in `each'
/home/dmitry/.rvm/gems/jruby-head/gems/bundler-1.3.4/lib/bundler/runtime.rb:72:in `require'
org/jruby/RubyArray.java:1614:in `each'
/home/dmitry/.rvm/gems/jruby-head/gems/bundler-1.3.4/lib/bundler/runtime.rb:70:in `require'
/home/dmitry/.rvm/gems/jruby-head/gems/bundler-1.3.4/lib/bundler/runtime.rb:59:in `require'
/home/dmitry/.rvm/gems/jruby-head/gems/bundler-1.3.4/lib/bundler.rb:132:in `require'
org/jruby/RubyKernel.java:1028:in `require'
/home/dmitry/Work/crossArts/config/application.rb:13:in `(root)'
org/jruby/RubyKernel.java:1047:in `load'
/home/dmitry/Work/crossArts/Rakefile:1:in `(root)'
/home/dmitry/Work/crossArts/Rakefile:5:in `(root)'
org/jruby/RubyKernel.java:1047:in `load'
org/jruby/RubyKernel.java:1067:in `eval'
/home/dmitry/.rvm/gems/jruby-head/bin/ruby_noexec_wrapper:14:in `(root)'
Was it helpful?

Solution

Try adding gem 'activerecord-jdbcpostgresql-adapter' to your Gemfile. That's what I did for a rails app on puma 2.0.1 and JRuby 1.7.4, and it worked like a champ.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top