Search code examples
ruby-on-railsrubyruby-on-rails-4rgeoproj

Error when running rails app incompatible library version rgeo proj4


When I run foreman start, I get this error:

 ~/.rvm/gems/ruby-2.2.3/gems/activesupport-4.2.4/lib/active_support/dependencies.rb:274:in `require': incompatible library version - ~/.rvm/gems/ruby-2.2.3/gems/rgeo-0.4.0/lib/rgeo/coord_sys/proj4_c_impl.bundle (fatal)
        from ~/.rvm/gems/ruby-2.2.3/gems/activesupport-4.2.4/lib/active_support/dependencies.rb:274:in `block in require'
        from ~/.rvm/gems/ruby-2.2.3/gems/activesupport-4.2.4/lib/active_support/dependencies.rb:240:in `load_dependency'
        from ~/.rvm/gems/ruby-2.2.3/gems/activesupport-4.2.4/lib/active_support/dependencies.rb:274:in `require'
        from ~/.rvm/gems/ruby-2.2.3/gems/rgeo-0.4.0/lib/rgeo/coord_sys.rb:39:in `<top (required)>'

I've tried rvm gemset empty && bundle install, gem uninstall rgeo && gem install rgeo, other people working on this same project don't have this issue.

Ruby 2.2.3p173 Rails 4.2.4 Gem 2.4.8

What am I doing wrong?


Solution

  • I was running into this issue as well. I would need to know more about your environment, but it might be related to this issue I reported to the RGeo project today: https://github.com/rgeo/rgeo/issues/114

    If you're using Homebrew's version of Ruby, you might need to uninstall it and use RVM. There seems to be a conflict when you have both running.

    I also committed a patch that might work for you. It basically ensures that if you're using a Ruby Manager, RGeo tries to build with those libraries first. You can see that code here: https://github.com/eddietejeda/rgeo/tree/prioritize_ruby_manager_lib

    You can add this to your Gemfile to test it out:

    gem 'rgeo', :git => 'git@github.com:eddietejeda/rgeo.git', :branch => 'prioritize_ruby_manager_lib'

    Hope this helps!