ivanvanderbyl / crashlog

CrashLog notifier for Ruby
crashlog.io
MIT License
2 stars 4 forks source link

Could not install with JRuby due to yajl-json dependency #1

Open Overbryd opened 12 years ago

Overbryd commented 12 years ago

JRuby per default does not build C extensions like yajl-json. But it ships with good json support, and you could select a Json gem per platform.

★ gem install crashlog
Building native extensions.  This could take a while...
ERROR:  Error installing crashlog:
    ERROR: Failed to build gem native extension.

        /Volumes/Home/.rbenv/versions/jruby-1.7.0-RC1/bin/jruby extconf.rb
CompilerOracle: dontinline org/jruby/runtime/invokedynamic/InvokeDynamicSupport.invocationFallback
NotImplementedError: C extension support is not enabled. Pass -Xcext.enabled=true to JRuby or set JRUBY_OPTS or modify .jrubyrc to enable.

   (root) at /Volumes/Home/.rbenv/versions/jruby-1.7.0-RC1/lib/ruby/shared/mkmf.rb:8
  require at org/jruby/RubyKernel.java:1019
   (root) at /Volumes/Home/.rbenv/versions/jruby-1.7.0-RC1/lib/ruby/shared/rubygems/custom_require.rb:1
   (root) at extconf.rb:1

Lukas

ivanvanderbyl commented 12 years ago

Hi Luke, We're using MultiJson so you can configure it to use anything you like, just add this to your config:

CrashLog.configure do |config|
# usual stuff here
  config.json_parser = :default_adapter
end

I'll push a 1.0.2 update today which uses this by default.

Overbryd commented 12 years ago

This issue still seems to be valid, because yajl-ruby is listed as a dependency in the gemspec.

Installing yajl-ruby (1.1.0) with native extensions 
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.

        /Volumes/Home/.rbenv/versions/jruby-1.7.0-RC1/bin/jruby extconf.rb 
CompilerOracle: dontinline org/jruby/runtime/invokedynamic/InvokeDynamicSupport.invocationFallback
NotImplementedError: C extension support is not enabled. Pass -Xcext.enabled=true to JRuby or set JRUBY_OPTS or modify .jrubyrc to enable.

   (root) at /Volumes/Home/.rbenv/versions/jruby-1.7.0-RC1/lib/ruby/shared/mkmf.rb:8
  require at org/jruby/RubyKernel.java:1019
   (root) at /Volumes/Home/.rbenv/versions/jruby-1.7.0-RC1/lib/ruby/shared/rubygems/custom_require.rb:1
   (root) at extconf.rb:1

Gem files will remain installed in /Volumes/Home/.rbenv/versions/jruby-1.7.0-RC1/gemsets/gamex/gems/yajl-ruby-1.1.0 for inspection.
Results logged to /Volumes/Home/.rbenv/versions/jruby-1.7.0-RC1/gemsets/gamex/gems/yajl-ruby-1.1.0/ext/yajl/gem_make.out
An error occurred while installing yajl-ruby (1.1.0), and Bundler cannot continue.
Make sure that `gem install yajl-ruby -v '1.1.0'` succeeds before bundling.