简体   繁体   中英

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!

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.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM