JRuby Heroku ビルドパック (https://github.com/jruby/heroku-buildpack-jruby) を使用して簡単なテスト アプリケーションを実行しようとしています。
ただし、C 拡張の gem はコンパイルできないようです。たとえば、「git push heroku」を実行すると、C 拡張なしの gem は正常にインストールされますが、その後...
Using activerecord (3.1.3)
Using activeresource (3.1.3)
Using bouncy-castle-java (1.5.0146.1)
Using bson (1.7.0)
Installing bson_ext (1.7.0) with native extensions
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.
/tmp/build_10vcxrs9ayvxf/jruby/bin/jruby extconf.rb
NotImplementedError: C extension support is not enabled. Pass -Xcext.enabled=true to JRuby or set JRUBY_OPTS or modify .jrubyrc to enable.
(root) at /tmp/build_10vcxrs9ayvxf/jruby/lib/ruby/shared/mkmf.rb:8
require at org/jruby/RubyKernel.java:1019
(root) at /tmp/build_10vcxrs9ayvxf/jruby/lib/ruby/shared/rubygems/custom_require.rb:1
(root) at extconf.rb:1
Gem files will remain installed in /tmp/build_10vcxrs9ayvxf/vendor/bundle/jruby/1.9/gems/bson_ext-1.7.0 for inspection.
Results logged to /tmp/build_10vcxrs9ayvxf/vendor/bundle/jruby/1.9/gems/bson_ext-1.7.0/ext/cbson/gem_make.out
An error occurred while installing bson_ext (1.7.0), and Bundler cannot continue.
Make sure that `gem install bson_ext -v '1.7.0'` succeeds before bundling.
Dependencies installed
上記のアドバイスを見て、JRuby ビルドパックの修正版を作成しました。
このビルドパックと元のビルドパックの唯一の違いは、JRUBY_OPTS を次のように設定したことです。
JRUBY_OPTS="--1.9 -Xcext.enabled=true -J-Xmx400m"
ただし、これはまったく違いがないようで、まだ同じエラーが発生しています。
ヒントはありますか?ビルドパックのどこかに .jrubyrc ファイルを追加することは可能ですか?