2

Variant effect predictor perl script (by ensembl) を実行しようとしていますが、次のエラーが発生します:

Testing VEP script
ERROR: Testing VEP script failed with the following error
Can't load '/home/sahel/perl5/lib/perl5/x86_64-linux/auto/Compress/Raw/Zlib/Zlib.so' for module Compress::Raw::Zlib: /home/sahel/perl5/lib/perl5/x86_64-linux/auto/Compress/Raw/Zlib/Zlib.so: undefined symbol: PL_unitcheckav at /usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/DynaLoader.pm line 230.
 at /home/sahel/perl5/lib/perl5/Compress/Zlib.pm line 11
Compilation failed in require at /home/sahel/perl5/lib/perl5/Compress/Zlib.pm line 11.
BEGIN failed--compilation aborted at /home/sahel/perl5/lib/perl5/Compress/Zlib.pm line 11.
Compilation failed in require at /projects/sahel_proj/localperl/Bio/EnsEMBL/Variation/ProteinFunctionPredictionMatrix.pm line 73.
BEGIN failed--compilation aborted at /projects/sahel_proj/localperl/Bio/EnsEMBL/Variation/ProteinFunctionPredictionMatrix.pm line 73.
Compilation failed in require at /projects/sahel_proj/localperl/Bio/EnsEMBL/Variation/TranscriptVariationAllele.pm line 65.
BEGIN failed--compilation aborted at /projects/sahel_proj/localperl/Bio/EnsEMBL/Variation/TranscriptVariationAllele.pm line 65.
Compilation failed in require at /projects/sahel_proj/localperl/Bio/EnsEMBL/Variation/TranscriptVariation.pm line 57.
BEGIN failed--compilation aborted at /projects/sahel_proj/localperl/Bio/EnsEMBL/Variation/TranscriptVariation.pm line 57.
Compilation failed in require at /projects/sahel_proj/localperl/Bio/EnsEMBL/Variation/DBSQL/TranscriptVariationAdaptor.pm line 68.
BEGIN failed--compilation aborted at /projects/sahel_proj/localperl/Bio/EnsEMBL/Variation/DBSQL/TranscriptVariationAdaptor.pm line 68.
Compilation failed in require at /projects/sahel_proj/localperl/Bio/EnsEMBL/Variation/VariationFeature.pm line 105.
BEGIN failed--compilation aborted at /projects/sahel_proj/localperl/Bio/EnsEMBL/Variation/VariationFeature.pm line 105.
Compilation failed in require at /projects/sahel_proj/localperl/Bio/EnsEMBL/Variation/Utils/VEP.pm line 52.
BEGIN failed--compilation aborted at /projects/sahel_proj/localperl/Bio/EnsEMBL/Variation/Utils/VEP.pm line 52.
Compilation failed in require at variant_effect_predictor.pl line 57.
BEGIN failed--compilation aborted at variant_effect_predictor.pl line 57.

必要なすべてのモジュールを cpan でインストールし、次の方法でモジュールへのパスを設定しました。

echo 'eval `/projects/sahel_proj/localperl/bin/perl -I ~/perl5/lib/perl5 -Mlocal::lib`' >> ~/.profile

Compress::Raw::Zlib と Compress::Zlib は正常にインストールされたようです:

./bin/perl -e 'use Compress::Raw::Zlib;'
./bin/perl -e 'use Compress::Zlib;'

だから私は何が間違っているのか考えられず、オンラインで何かを見つけることができませんでした...

これは、perl を使用した初めての経験です:( 、どんな助けでも大歓迎です...

どうもありがとう

4

1 に答える 1

2

Perl のバージョンが一致していないようです。兆候は次のことを示し.soています: ロードしている は、あるバージョンの Perl を使用してビルドされており、互換性のないバージョンの Perl によってロードされています。

perl実際のプログラムは別のperl.

INSTALL_BASEこれで、人々が別名--install_baseを良い考えだと考える理由を私が理解できない理由がわかりました。確かに、ディレクトリ構造はきれいですが、これらの問題が発生します! INSTALL_BASElocal::lib 経由で別名--install_base(モジュールをインストールする方法とインストールする場所) をMakefile.PL使用しています。Build.PL

解決策 1.

perlモジュールのインストールに使用したものと同じものを使用して、スクリプトを実行します。

解決策 2。

local::lib がモジュールをインストールしたディレクトリを削除し、local::lib を使用せずに再インストールします。

perl Makefile.PL PREFIX=~ LIB=~/lib/perl5
make
make test
make install

また

perl Build.PL --prefix ~ --lib ~/lib/perl5
./Build
./Build test
./Build install

both を使用して上記を実行するとperl、バージョン固有のモジュールが両方で利用可能になりますperl。1 つの のみを使用して上記を実行するとperl、バージョン固有のモジュールはその でのみ使用可能になりますperl。競合はありません。

(cpan上記のコマンドを使用するように設定することで使用できます。)

perlモジュールの場所を忘れずに伝えてください。ログインスクリプトで、

export PERL5LIB=~/lib/perl5
于 2012-04-28T07:57:57.930 に答える