2011-11-23 48 views
0

我使用下面的环境有一个Rails应用程序Apache2红宝石XSLT,Centos的和不确定的符号xsltLibxmlVersion

开发环境不同,它是:Ubuntu 10.04,Ruby 1.8.7,它像一个魅力。我无法改变生产环境。

我用红宝石XSLT,宝石版本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)不要使用红宝石XSLT - 然而,这是一个基于唯一的红宝石xslt lib我可以在开发中编译,这就是我使用它的原因。 (但我愿意接受建议)。 2)破解ruby-xslt库,删除对符号的引用,重新编译并安装。 (尝试但错误仍然出现,所以我可能没有做对,我在修改后再次运行“ruby setup.rb”为宝石,但这是纯粹的猜测。)

3)将Ruby环境更改为1.8 .7在开发中 - 不要认为这将工作,因为问题是在宝石红宝石xslt和Linux库libxslt2.so之间,而不是红宝石env。 (所以实际上不打算这样做)

4)符号添加到libxslt2.so lib下,重构和安装(但不与C语言工作了15年)

对这个有什么想法?

问候 保罗

回答

0

我解决了这个用选项号1和设法得到安装(1.0.1)的旧版本XSLT的红宝石,这涉及到安装几个库为好。