2011-11-23 39 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的紅寶石,這涉及到安裝幾個庫爲好。