2012-05-08 12 views
2

Railsプロジェクトにビルドパイプラインがあります。テストサーバーでアプリケーションをバンドルしてテストした後、宝石付きのコード(vendor/)をステージングサーバーにコピーし、乗客サーバー。nokogiri:実稼働環境での再配置エラー

それが動作するために使用されるが、今私はapache.error.logでエラーを次取得:

ブラウザで
WARNING: Nokogiri was built against LibXML version 2.7.6, but has dynamically loaded 2.6.26 
/usr/local/rvm/rubies/ruby-1.9.2-p318/bin/ruby: 
    relocation error: /home/project/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.5.2/lib/nokogiri/nokogiri.so: 
    symbol xmlNextElementSibling, version LIBXML2_2.7.3 not defined in file libxml2.so.2 with link time reference 

error 500

ステージングサーバーUでwebbrickを実行すると、最初の要求時に同様のエラーが発生します。どうすればそれを解決できますか?

編集: ノーコギリバージョンとのスタンゲのこと。同じバイナリをロード異なるのlibxmlのバージョン私はそれがスタンドアロンまたはbundle execを呼び出す場合によっては:

vendor/bundle/ruby/1.9.1/gems/nokogiri-1.5.2/bin/nokogiri -v 
# Nokogiri (1.5.2) 
--- 
warnings: [] 
nokogiri: 1.5.2 
ruby: 
    version: 1.9.2 
    platform: x86_64-linux 
    description: ruby 1.9.2p318 (2012-02-14 revision 34678) [x86_64-linux] 
    engine: ruby 
libxml: 
    binding: extension 
    compiled: 2.6.26 
    loaded: 2.6.26 

$ bundle exec vendor/bundle/ruby/1.9.1/gems/nokogiri-1.5.2/bin/nokogiri -v 
WARNING: Nokogiri was built against LibXML version 2.7.6, but has dynamically loaded 2.6.26 
# Nokogiri (1.5.2) 
--- 
warnings: 
- Nokogiri was built against LibXML version 2.7.6, but has dynamically loaded 2.6.26 
nokogiri: 1.5.2 
ruby: 
    version: 1.9.2 
    platform: x86_64-linux 
    description: ruby 1.9.2p318 (2012-02-14 revision 34678) [x86_64-linux] 
    engine: ruby 
libxml: 
    binding: extension 
    compiled: 2.7.6 
    loaded: 2.6.26 

答えて

1

問題を解決しました。私はソースからlibxml2を構築し、その後、私はこの新しいバージョンを使用するbundlerに構成:

bundle config build.nokogiri --with-xml2-dir=/usr --with-xslt-dir=/usr/local 

を(今、私持っている警告、ロードされているバージョンの方が新しいので、その構築された鋸山に使用したものが、問題じゃない)。問題は、64ビットの裸のマシン上で解決しない場合は

1

エラーが本当にそれをすべて言います。あなたのローカルマシン(Gemがコンパイルされた場所)に別のバージョンのLibXMLがあります。version 2.7.6はサーバー上にあります2.6.26開発マシンをダウングレードするか、サーバー上に宝石を作成してください。

+0

おかげで、私は、参照をlibxmlのバージョンをチェックします編集。 – mrzasa

0

、私は1.2.3から1.2.7にあります:zlib1gを更新し、それを解決:

$> aptitude update 
$> aptitude install zlib1g 
関連する問題