gpt4 book ai didi

ruby - Centos 5.7/ruby​​/nokogiri - 获取 NotFoundError xmlRelaxNGSetParserStructuredErrors

转载 作者:行者123 更新时间:2023-12-04 16:20:57 25 4
gpt4 key购买 nike

收到此错误:

# rails c
FFI::NotFoundError: Function 'xmlRelaxNGSetParserStructuredErrors' not found in [libxml2.so, libxslt.so, libexslt.so]
attach_function at /home/prod/.rvm/rubies/jruby-1.6.5/lib/ruby/site_ruby/shared/ffi/library.rb:154
each at org/jruby/RubyArray.java:1612
attach_function at /home/prod/.rvm/rubies/jruby-1.6.5/lib/ruby/site_ruby/shared/ffi/library.rb:150
LibXML at /home/prod/.rvm/gems/jruby-1.6.5@p-ecom1-rails311/gems/nokogiri-1.4.6-java/lib/nokogiri/ffi/libxml.rb:305
Nokogiri at /home/prod/.rvm/gems/jruby-1.6.5@p-ecom1-rails311/gems/nokogiri-1.4.6-java/lib/nokogiri/ffi/libxml.rb:42
(root) at /home/prod/.rvm/gems/jruby-1.6.5@p-ecom1-rails311/gems/nokogiri-1.4.6-java/lib/nokogiri/ffi/libxml.rb:41
require at org/jruby/RubyKernel.java:1038

我让它在旧服务器上工作,但似乎在新服务器上缺少一些东西。两台服务器上的 ruby​​ 和 lib 版本似乎相同,即:

ruby -v => jruby 1.6.5 (ruby-1.8.7-p330) (2011-10-25 9dcd388) (OpenJDK 64-Bit Server VM 1.6.0_20) [linux-amd64-java]

实际上-旧服务器上的java版本是Oracle版本...

Centos 5.7
# yum list | egrep "xslt|xml2"
libxml2.i386 2.6.26-2.1.12.el5_7.1 installed
libxml2.x86_64 2.6.26-2.1.12.el5_7.1 installed
libxml2-devel.i386 2.6.26-2.1.12.el5_7.1 installed
libxml2-devel.x86_64 2.6.26-2.1.12.el5_7.1 installed
libxml2-python.x86_64 2.6.26-2.1.12.el5_7.1 installed
libxslt.x86_64 1.1.17-2.el5_2.2 installed
libxslt-devel.x86_64 1.1.17-2.el5_2.2 installed

编辑:
刚刚尝试了Oracle java版本来匹配旧/工作框,不高兴,虽然略有不同的错误,即:

$ ruby -v
jruby 1.6.5 (ruby-1.8.7-p330) (2011-10-25 9dcd388) (Java HotSpot(TM) Server VM 1.6.0_29) [linux-i386-java]

$导轨c
LoadError: Could not open library 'xslt' : xslt: cannot open shared object file: No such file or directory. Could not open library 'libxslt.so' : libxslt.so: cannot open shared object file: No such file or directory
ffi_lib at /home/prod/.rvm/rubies/jruby-1.6.5/lib/ruby/site_ruby/shared/ffi/library.rb:82
collect at org/jruby/RubyArray.java:2318

编辑2:

尝试更新 mechanize 和 nokogiri 但似乎 mechanize 2 中存在与 cookie 相关的差异 - 尝试获取似乎应该解决此问题的 github 版本。

编辑3:

试过 1.4.7 Nokogiri ,但仍然报错。现在已经安装了 1.5,它可以安装 - 只是它在我的 OSX 开发环境中不起作用。可能需要用 nokogiri 提出一个错误 - 但必须编写一个测试程序来证明这个问题。

最佳答案

您是否有理由通过 FFI 使用 Nokogiri 1.4.6?最新版本 1.5.0 采用纯 Java 风格,可能更适合您。

https://rubygems.org/gems/nokogiri/versions/1.5.0-java

如果您的 libxml2.so 中缺少该符号,你需要拥有它的版本。在我的 Mac 上,我得到:

$ nm /usr/lib/libxml2.dylib  | grep RelaxNGSetParserStructuredErrors
00000000000a5bcd T _xmlRelaxNGSetParserStructuredErrors

关于ruby - Centos 5.7/ruby​​/nokogiri - 获取 NotFoundError xmlRelaxNGSetParserStructuredErrors,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8205140/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com