【发布时间】:2012-01-04 14:32:00
【问题描述】:
我有一个使用以下环境的 rails 应用程序:
CentOS 5.7 版(最终版) 导轨 3.0.9 红宝石 1.6.2 红宝石 1.9.2 乘客 阿帕奇2
开发环境有所不同,分别是:Ubuntu 10.04、Ruby 1.8.7,它们的工作方式非常棒。我无法更改生产环境。
我使用 ruby-xslt,gem 版本 0.9.8,问题是当我访问应用程序时出现错误:
/usr/local/lib/ruby/gems/1.9.1/gems/ruby-xslt-0.9.8/lib/xml/xslt_lib.so: undefined symbol: xsltLibxmlVersion - /usr/local/lib/ruby/gems/1.9.1/gems/ruby-xslt-0.9.8/lib/xml/xslt_lib.so
我能找到的唯一解决方案是:
http://amitsolanki.com/2010/04/undefined-symbol-xsltlibxmlversion-ruby-xslt-and-centos/
这对我不起作用。
我很困惑,想听听您对如何做的意见:
我的想法如下:
1) 不要使用 ruby-xslt - 但是这是我可以在开发中编译的唯一基于 ruby 的 xslt 库,这就是我使用它的原因。 (但我愿意接受建议)。
2) 破解 ruby-xslt 库以删除对符号的引用,重新编译并安装。 (尝试过但错误仍然出现,所以我可能做得不对,我在更改后再次为 gem 运行“ruby setup.rb”,但这纯粹是猜测。)
3) 在开发中将 Ruby 环境更改为 1.8.7 - 不要认为这会起作用,因为问题出在 gem ruby-xslt 和 linux 库 libxslt2.so 之间,而不是 ruby env 之间。 (所以实际上不会这样做)
4) 将符号添加到 libxslt2.so 库中,重新构建并安装(但 15 年来未使用 C 语言)
对此有什么想法吗?
问候 保罗
【问题讨论】:
标签: ruby ruby-on-rails-3 centos