2

我正在尝试在 MacOS X 10.6.8 Snow Leopard 上安装名为 OrthoMCL 的程序。为了它的工作,它需要 Perl 的 DBI 模块。在我的机器上,我有两个 perl 安装 - 在 /usr/bin/perl 上预构建 5.10.0 版本(称为 Perl1)和我实际使用的 5.12.3 MacPorts 安装(称为 Perl2)。

问题是 OrthoMCL 正在尝试使用 /usr/bin/perl。如果我尝试从 CPAN for Perl1 安装 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

结果相同的错误。

我可以在 Perl2 上安装 DBI 和 DBD::mysql,但 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.

所以我有两个问题:

  1. 有没有办法为 Perl1 安装 DBI 和 DBD::mysql 模块。
  2. 有人知道如何强制 OrthoMCL 与 Perl2 一起工作吗?

谢谢!

4

2 回答 2

0

试试sudo /usr/bin/perl Makefile.PL && make

关于 perl 版本,您也需要为您的第二个 perl 版本安装模块才能使其正常工作。我根本不知道OrthoMCL,但我会查阅它的文档,了解它如何与 perl 一起工作。

于 2013-11-06T10:42:15.757 回答
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 回答