Qiang Li
Qiang Li

Reputation: 10865

installing perl module Class-Load-XS

I tried to install module Class-Load-XS-0.04 manually. I saw the following error:

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

However, the execution of perl -e 'use ExtUtils::CBuilder' was perfectly fine. I even tried to re-install ExtUtils::CBuilder, but it still does not work.

Could you please help?

Upvotes: 4

Views: 1404

Answers (4)

Mister
Mister

Reputation: 1

I'd suggest installing these first:

apt-get install libc6-dev

and

apt-get install libtest-exception-perl

By the way you describe the problem it looks like you have these two perl modules missing. On the other hand it takes just a couple of seconds to double-check if those are installed, but these 'seconds' could help you save on a lot of head ache.

Upvotes: 0

mob
mob

Reputation: 118665

Had a similar problem installing a different module (Win32::Mutex). This isn't a great fix, but it got the job done. From the build directory (e.g., ~/.cpan/build/The-Module-mYyzLx)

First, set the CC environment variable yourself

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

and try to build (perl Build.PL, perl Build, ...). If it is still complaining about missing programs (g++, dlltool, etc.):

Second, copy pieces of your tool chain into the build directory

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

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

If the build still complains about missing programs, copy those to your build directory too.

The fix and the symptoms are consistent with ExtUtils::CBuilder not being able to use the current PATH setting, though I have no idea what that would be so difficult.

Upvotes: 1

Joel Berger
Joel Berger

Reputation: 20280

It looks to me like you don't have a compiler. Try this:

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

Can I guess that you are on Windows using ActiveState Perl? If so perhaps try Strawberry Perl which comes with a compiler.

Upvotes: 1

Qiao Zhou
Qiao Zhou

Reputation: 149

I tried on my Win 7 machine, and it shows some warnings like this when I do 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

Then I installed the above mentioned modules, and things went fine then.

You may try install these modules first. Hope it helps.

Upvotes: 1

Related Questions