It seems like it has to be a library version problem. Can you check
whether that version of libexslt matches what Nokogiri wants? It's
rather picky.

Alternatively, we are looking for people to test out the 1.5.0 betas,
which on JRuby are 100% Java-based and have no native library
dependencies. Maybe you can give it a shot?

On Thu, Nov 11, 2010 at 8:00 PM, Clifford Heath <no / spam.please.net> wrote:
> I'm testing some code that uses Nokogiri under JRuby using rvm.
> I have a fresh rvm install of JRuby, Nokogiri 1.4.3.1-java,
> and the MacPorts 1.1.26_0 version of libxslt, which provides
> /opt/local/lib/libexslt.dylib (i.e. everthing is up-to-date
> except OSX)
>
> I'm getting this stack trace:
>
> ~/.rvm/rubies/jruby-1.5.3/lib/ruby/site_ruby/shared/ffi/ffi.rb:112:in
> `create_invoker': Function 'xmlSchemaValidateFile' not found in
> [libexslt.dylib] (FFI::NotFoundError)
>    from
> /Users/cjh/.rvm/rubies/jruby-1.5.3/lib/ruby/site_ruby/shared/ffi/library.rb:98:in
> `attach_function'
>    from
> /Users/cjh/.rvm/rubies/jruby-1.5.3/lib/ruby/site_ruby/shared/ffi/library.rb:96:in
> `each'
>    from
> /Users/cjh/.rvm/rubies/jruby-1.5.3/lib/ruby/site_ruby/shared/ffi/library.rb:96:in
> `attach_function'
>    from
> /Users/cjh/.rvm/gems/jruby-1.5.3/gems/nokogiri-1.4.3.1-java/lib/nokogiri/ffi/libxml.rb:289
>    from
> /Users/cjh/.rvm/gems/jruby-1.5.3/gems/nokogiri-1.4.3.1-java/lib/nokogiri/ffi/libxml.rb:31:in
> `require'
>    from
> /Users/cjh/.rvm/rubies/jruby-1.5.3/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in
> `require'
>    from
> /Users/cjh/.rvm/gems/jruby-1.5.3/gems/polyglot-0.3.1/lib/polyglot.rb:64:in
> `require'
>    from
> /Users/cjh/.rvm/gems/jruby-1.5.3/gems/nokogiri-1.4.3.1-java/lib/nokogiri.rb:11
>    ... 14 levels...
>    from
> /Users/cjh/.rvm/gems/jruby-1.5.3/gems/rspec-core-2.1.0/lib/rspec/core/runner.rb:46:in
> `run'
>    from
> /Users/cjh/.rvm/gems/jruby-1.5.3/gems/rspec-core-2.1.0/lib/rspec/core/runner.rb:10:in
> `autorun'
>    from :1
>
> Googling yields no answers. Any thoughts on the cause or the fix?
>
> Clifford Heath.
>
>