установка модуля Perl Class-Load-XS - PullRequest
4 голосов
/ 03 апреля 2012

Я пытался установить модуль Class-Load-XS-0.04 вручную. Я увидел следующую ошибку:

$ perl Build.PL
Warning: ExtUtils::CBuilder not installed or no compiler detected
Proceeding with configuration, but compilation may fail during Build

Тем не менее, выполнение perl -e 'use ExtUtils::CBuilder' было прекрасно. Я даже пытался переустановить ExtUtils::CBuilder, но он все равно не работает.

Не могли бы вы помочь?

Ответы [ 4 ]

1 голос
/ 03 апреля 2012

Мне кажется, что у вас нет компилятора. Попробуйте это:

perl -e 'use ExtUtils::CBuilder; $cb = ExtUtils::CBuilder->new; print $cb->have_compiler ? "have\n" : "dont have\n";'

Могу ли я догадаться, что вы используете Windows ActiveState Perl? Если это так, возможно, попробуйте Strawberry Perl , который поставляется с компилятором.

1 голос
/ 25 июня 2013

Возникла похожая проблема при установке другого модуля (Win32::Mutex).Это не лучшее решение, но оно выполнило свою работу.Из каталога сборки (например, ~/.cpan/build/The-Module-mYyzLx)

Сначала установите переменную окружения CC

SET CC=C:\strawberry\c\bin\g++.exe         [Windows]
export CC=/usr/bin/g++.exe                 [Cygwin]

и попробуйте собрать (perl Build.PL, perl Build,...).Если он по-прежнему жалуется на отсутствующие программы (g++, dlltool и т. Д.):

Во-вторых, скопируйте фрагменты вашей цепочки инструментов в каталог сборки

COPY C:\strawberry\c\bin\g++.exe .         [Windows]
COPY C:\strawberry\c\bin\dlltool.exe .

cp /usr/bin/g++ .                          [Cygwin]
cp /usr/bin/dlltool .

Еслиbuild по-прежнему жалуется на отсутствующие программы, скопируйте их в свой каталог сборки.

Исправление и симптомы соответствуют тому, что ExtUtils::CBuilder не может использовать текущую настройку PATH, хотя я понятия не имею, чтоэто было бы так сложно.

1 голос
/ 03 апреля 2012

Я пробовал на своем компьютере с Win 7, и он показывает некоторые подобные предупреждения, когда я делаю Perl Build.pl:

collect2: ld returned 1 exit status
Checking prerequisites...
  requires:
    !  Class::Load is not installed
  build_requires:
    !  Class::Load is not installed
    !  Module::Implementation is not installed
    !  Test::Fatal is not installed
    !  Test::Requires is not installed

ERRORS/WARNINGS FOUND IN PREREQUISITES.  You may wish to install the versions
of the modules indicated above before proceeding with this installation

Затем я установил вышеупомянутые модули, и все пошло хорошо.

Вы можете сначала попробовать установить эти модули. Надеюсь, поможет.

0 голосов
/ 02 января 2015

Я бы посоветовал установить их в первую очередь:

apt-get install libc6-dev

и

apt-get install libtest-exception-perl

Когда вы описываете проблему, похоже, что у вас отсутствуют эти два Perl-модуля.С другой стороны, требуется всего несколько секунд, чтобы дважды проверить, установлены ли они, но эти «секунды» могут помочь вам сэкономить много головной боли.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...