I'm attempting to build a statically compiled version of Apache/mod_perl using a localized version of Perl 5.8.6 installed in my home directory. For the most part, everything is running smoothly except now I've run into a problem with MakeMaker.pm. When I try to run the Makefile.PL for mod_perl, MakeMaker complains that it can't find the Perl headers. Reviewing the perldoc for MakeMaker, it appears that PERL_INC should override this behavior, but it still keeps trying to find the headers under /usr/local instead of ~/perl5.

Here are all the steps I used to get to this point:


$ mkdir ~/perl5 ~/apache
$ cd perl-5.8.6
$ sh Configure -Umymalloc -des
$ make
$ make test
$ make install DESTDIR=~/perl5
$ mv ~/perl5/usr/local/* ~/perl5/
$ rm -rf ~/perl5/usr/
$ export PERL5LIB=~/perl5/lib/perl5/5.8.6:~/perl5/lib/perl5/site_perl/5.8.6
$ cd ../mod_perl-1.29/
$ export PERL_INC=~/perl5/lib/perl5/5.8.6/x86_64-linux/CORE
$ ~/perl5/bin/perl Makefile.PL \
PREFIX=~/perl5 \
APACHE_PREFIX=~/apache \
APACHE_SRC=../apache_1.3.33/src \
DO_HTTPD=1 \
PREP_HTTPD=1 \
EVERYTHING=1 \
USE_APACI=1


And the trailing error:

"Error: Unable to locate installed Perl libraries or Perl source code.

It is recommended that you install perl in a standard location before
building extensions. Some precompiled versions of perl do not contain
these header files, so you cannot build extensions. In such a case,
please build and install your perl from a fresh perl distribution. It
usually solves this kind of problem.

(You get this message, because MakeMaker could not find "/usr/local/lib/perl5/5.8.6/x86_64-linux/CORE/perl.h")"

Why does it continue to look in /usr/local instead of ~/perl5?

Thanks,

--
Jason Dixon
DixonGroup Consulting
http://www.dixongroup.net



Reply via email to