Проблемы при установке Moose на Mac (скомпилируйте Sub :: Name prereq) - PullRequest
3 голосов
/ 03 мая 2010

Я пытаюсь установить Moose (модуль CPAN) на мой Macbook Pro. Он находит зависимость от Sub-Name и при попытке установить это получает следующие сообщения об ошибках. Есть идеи, как мне это вылечить?

  XMATH/Sub-Name-0.04.tar.gz
  /usr/bin/make -- OK
  Running make test
  PERL_DL_NONLAZY=1 /opt/local/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/smoke....Can't load '/private/var/root/.cpan/build/Sub-Name-0.04-ziHbmm/blib/arch/auto/Sub/Name/Name.bundle' for module Sub::Name: dlopen(/private/var/root/.cpan/build/Sub-Name-0.04-ziHbmm/blib/arch/auto/Sub/Name/Name.bundle, 2): no suitable image found.  

Did find:
    /private/var/root/.cpan/build/Sub-Name-0.04-ziHbmm/blib/arch/auto/Sub/Name/Name.bundle: mach-o, but wrong architecture at /opt/local/lib/perl5/5.8.9/darwin-2level/DynaLoader.pm line 230.
 at t/smoke.t line 6
Compilation failed in require at t/smoke.t line 6.

+++ Приложение +++

Я попробовал предложение использовать команду sudo port установить p5-лось

Установка сообщила об успехе, но файл с надписью "использовать Moose" дает:

"Can't load '/opt/local/lib/perl5/vendor_perl/5.8.9/darwin-2level/auto/Class/C3/XS/XS.bundle' for module Class::C3::XS: dlopen(/opt/local/lib/perl5/vendor_perl/5.8.9/darwin-2level/auto/Class/C3/XS/XS.bundle, 1): no suitable image found.  Did find:
    /opt/local/lib/perl5/vendor_perl/5.8.9/darwin-2level/auto/Class/C3/XS/XS.bundle: mach-o, but wrong architecture at /opt/local/lib/perl5/5.8.9/darwin-2level/XSLoader.pm line 73.
 at /opt/local/lib/perl5/vendor_perl/5.8.9/darwin-2level/Class/C3/XS.pm line 48
Compilation failed in require at (eval 5) line 3.

Мне интересно, переместился ли я со своей старой машины (до Intel) на эту, теперь мне нужно перекомпилировать двоичные файлы? Но если так, как мне это сделать?

Ответы [ 2 ]

2 голосов
/ 03 мая 2010

Ой, вы не должны были копировать установку perl с одной машины на другую. Было бы намного лучше начать заново с новой (-ыми) установкой (-ами).

Я бы настоятельно рекомендовал сбросить ваш каталог macports (/ opt / local) с орбиты и начать заново. Вы можете получить список установленных на данный момент пакетов с помощью port list installed, но вы можете начать с простой установки основных приложений, которые вам нужны, а затем установить другие компоненты позже, когда они вам понадобятся.

2 голосов
/ 03 мая 2010

Вы пытались установить Sub :: Name через CPAN вручную?

cpan> install Sub :: Name

Кроме того, я предпочитаю использовать порт [http://www.macports.org/] на Mac для установки модулей Perl (или в этом отношении любого другого продукта с открытым исходным кодом).

  1. Сохраняет то, что было в Mac OS, без изменений. Поэтому, если Apple выпустит более новую версию со своими обновлениями ОС, это не нарушит мои настройки.

  2. Я могу откатить изменения, сделанные с помощью порта.

Moose доступен на macports и может быть установлен как:

установка порта sudo p5-moose

...