2

MacOS X 10.6.8 Snow Leopard に OrthoMCL というプログラムをインストールしようとしています。その作業には、Perl 用の DBI モジュールが必要です。私のマシンには 2 つの perl がインストールされています - /usr/bin/perl に 5.10.0 バージョンをプレビルド (Perl1 と呼びます) と 5.12.3 MacPorts インストール (Perl2 と呼びます) を実際に使用しています。

問題は、OrthoMCL が /usr/bin/perl を処理しようとしていることです。Perl1 の CPAN から CPAN DBI および DBD::mysql モジュールをインストールしようとすると、次のようなエラーが発生します。

lipo: can't open input file: /var/tmp//ccOBwzHU.out (No such file or directory)
make: *** [Perl.o] Error 2

を使用した外部コンパイル

/usr/bin/perl Makefile.PL
make

同じエラーが発生します。

DBI と DBD::mysql を Perl2 にインストールできますが、OrthoMCL は動作しません。

Perl2 モジュールのパスを PERL5LIB 変数に追加すると、Perl1 を使用しようとするとエラーが発生します。

Perl lib version (5.12.4) doesn't match executable version (v5.10.0) at /opt/local/lib/perl5/5.12.4/darwin-thread-multi-2level/Config.pm line 50.

だから私は2つの質問があります:

  1. Perl1 用の DBI および DBD::mysql モジュールをインストールする方法を教えてください。
  2. OrthoMCL を Perl2 で動作させる方法を知っている人はいますか?

ありがとう!

4

2 に答える 2

0

Mac OS X では、システム perl をまったく使用せず、App::Perlbrewを使用してホーム ディレクトリに perl をインストールして使用することを強くお勧めします。

数年以上にわたり、OS X の perl はさまざまな点で壊れていて、専門家でない限り修正するのはほぼ不可能です。降りたくないラットホールです。

Perl アプリケーションは、最初の ("shebang") 行で /usr/bin/perl をハードコーディングすべきではありません: これはバグです。これを/usr/bin/env perlに置き換えます。これにより、perlbrew で選択した perl が実行されます。

于 2013-11-07T15:46:34.037 に答える
0

試してみてくださいsudo /usr/bin/perl Makefile.PL && make

perl バージョンに関しては、2 番目の perl バージョンが機能するためにもモジュールをインストールする必要があります。まったくわかりませんがOrthoMCL、perl とどのように連携するかについてはドキュメントを参照してください。

于 2013-11-06T10:42:15.757 に答える