ruby-on-railsrubyrjb

Ruby 2.5.1, Ruby Java Bridge (RJB), and Ubuntu 18.04: Getting `Constants DL and Fiddle is not defined.`


I need help. I can't figure out why I can't boot my Rails 5.2 app now that rjb is a dependency. I keep getting a generic error about Constants DL and Fiddle is not defined.

First, yes I have read the Documentation.

Second, yes I have set JAVA_HOME.

$ echo $JAVA_HOME
/usr/lib/jvm/java-8-openjdk-amd64

Third, I have set LD_LIBRARY_PATH (COULD THIS BE THE PROBLEM?)

$ echo $LD_LIBRARY_PATH
/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64

However, whenever I try to open rails console or rails server I just get the error:

$ rails c
/home/daniel/.rvm/rubies/ruby-2.5.1/lib/ruby/site_ruby/2.5.0/bundler/runtime.rb:84:in `rescue in block (2 levels) in require': There was an error while trying to load the gem 'fillable-pdf'.
Gem Load Error is: Constants DL and Fiddle is not defined.
Backtrace for gem load error is:
/home/daniel/.rvm/gems/ruby-2.5.1@fuel/gems/fillable-pdf-0.6/lib/fillable-pdf/itext.rb:4:in `load'
....    
<redacted>

The app runs fine on OSX, on CircleCI, and on Heroku. Does someone with more experience with rjb than me spot what I'm missing here?

Thank you in advance!


Solution

  • After rebooting and running some updates, it seems to work now. So all of the above appears to be correct. No JVM issues when opening up rails console anymore.