danielricecodes
danielricecodes

Reputation: 3586

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!

Upvotes: 3

Views: 524

Answers (1)

danielricecodes
danielricecodes

Reputation: 3586

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.

Upvotes: -1

Related Questions