0

I am using ActivePerl 5.16 on a RHEL 5.9 server. And I've set the PATH variable so the ActivePerl executables will be found first. And now I'm trying to compile mod_perl.so. However, the command perl Makefile.PL MP_APXS=/usr/sbin/apxs produces:

I have found ExtUtils::Embed 1.3001 at

  /opt/ActivePerl-5.16/lib/ExtUtils/Embed.pm

This is probably not the right one for this perl version. Please make sure
there is only one version of this module installed and that it is the one
that comes with this perl version.

If you insist on using the ExtUtils::Embed as is set the environment
variable MP_USE_MY_EXTUTILS_EMBED=1 and try again.

Details: expecting ExtUtils::Embed 1.30 (according to Module::CoreList)

BEGIN failed--compilation aborted at lib/Apache2/Build.pm line 64.
Compilation failed in require at Makefile.PL line 37.
BEGIN failed--compilation aborted at Makefile.PL line 37.

I'm a bit confused about all this... I'm a Perl tyro, I just want to get some software (which is heavily based on Perl) up and running on my server. Any advice?

Alasdair
  • 1,300
  • 4
  • 16
  • 28
  • Did you try setting the environment variable `MP_USE_MY_EXTUTILS_EMBED=1` like it said? Not sure what that would do but it couldn't hurt to give it a shot – hmatt1 Aug 02 '13 at 01:54
  • In the end setting `MP_USE_MY_EXTUTILS_EMBED=1` did seem to work. As it is, I just downloaded ActivePerl 5.16 from its website and installed it, and downloaded all necessary modules with the new cpan. – Alasdair Aug 02 '13 at 04:06

2 Answers2

0

The point of using ActivePerl is to be able to use ppm. Unfortunately, according to the mod_perl 2.0.8 status page, it is not available from ppm repositories.

The symptom does indicate something weird. Apparently ExtUtils::Embed 1.31 is from the 5.19.2 distribution. Something seems to be really wrong with your installation.

Sinan Ünür
  • 116,958
  • 15
  • 196
  • 339
  • I thought that was weird too since 1.30 was shipped with Perl 5.17.4 – hmatt1 Aug 02 '13 at 03:14
  • I don't know what or why anything should be wrong: I downloaded and installed ActivePerl 5.16, and changed my path to use this new installation. And then I used `cpan` from my new ActivePerl installation to install various modules. However, we'll see how my compilation goes... – Alasdair Aug 02 '13 at 04:16
0

I'll post this as an answer since it seemed to work. To correct this error, set the environment variable:

MP_USE_MY_EXTUTILS_EMBED=1

CPAN probably installed the latest version of the modules you downloaded, instead of the one that would have been released with Perl 5.16. This environment variable must just tell mod_perl to expect ExtUtils::Embed 1.31 instead of 1.30.

hmatt1
  • 4,939
  • 3
  • 30
  • 51