You are viewing a plain text version of this content. The canonical link for it is here.
Posted to modperl@perl.apache.org by Jason Dixon <ja...@dixongroup.net> on 2005/05/03 18:30:40 UTC
mod_perl build fails on MakeMaker
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
Re: mod_perl build fails on MakeMaker [SOLVED]
Posted by "Philip M. Gollucci" <pg...@p6m7g8.com>.
Jason Dixon wrote:
> On May 3, 2005, at 1:48 PM, Philip M. Gollucci wrote:
>
>> Jason Dixon wrote:
>>
>>> 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
>>
>>
>> ./Configure -sde \
>> -Dprefix=$PREFIX
>>
>> I belive you need to install perl this way instead for starters.
>
>
> Thanks Philip, I incorrectly thought that setting the DESTDIR would be
> enough. Here are the complete revised installation steps for installing
> a static Apache/mod_perl 1.x as non-root (for archival purposes):
>
> $ mkdir ~/perl5 ~/apache
> $ cd perl-5.8.6
> $ sh Configure -Umymalloc -des -Dprefix=~/perl5
> $ make
> $ make test
> $ make install
> $ export PERL5LIB=~/perl5/lib/5.8.6:~/perl5/lib/site_perl/5.8.6
Just FYI, I believe these are default, so I don't believe you need the
above line.
Glad I could help.
> $ cd ../mod_perl-1.29/
> $ ~/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
> $ make
> $ make install
> $ cd ../apache_1.3.33
> $ ./configure --prefix=$HOME/apache \
> --with-layout=Apache \
> --disable-rule=EXPAT \
> --enable-module=rewrite \
> --activate-module=src/modules/perl/libperl.a \
> --disable-shared=perl
> $ make
> $ make install
> $ cd ../Apache-Session-1.6
> $ ~/perl5/bin/perl Makefile.PL PREFIX=~/perl5
> $ make
> $ make install
> $ cd ../libapreq-1.33
> $ ~/perl5/bin/perl Makefile.PL PREFIX=~/perl5
> $ make
> $ make install
>
>
> --
> Jason Dixon
> DixonGroup Consulting
> http://www.dixongroup.net
>
--
END
------------------------------------------------------
Philip M. Gollucci (pgollucci@p6m7g8.com) 301.254.5198
Consultant / http://p6m7g8.net/Resume/resume.shtml
Senior Developer / Liquidity Services, Inc.
http://www.liquidityservicesinc.com
Re: mod_perl build fails on MakeMaker [SOLVED]
Posted by Jason Dixon <ja...@dixongroup.net>.
On May 3, 2005, at 1:48 PM, Philip M. Gollucci wrote:
> Jason Dixon wrote:
>
>> 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
>
> ./Configure -sde \
> -Dprefix=$PREFIX
>
> I belive you need to install perl this way instead for starters.
Thanks Philip, I incorrectly thought that setting the DESTDIR would be
enough. Here are the complete revised installation steps for
installing a static Apache/mod_perl 1.x as non-root (for archival
purposes):
$ mkdir ~/perl5 ~/apache
$ cd perl-5.8.6
$ sh Configure -Umymalloc -des -Dprefix=~/perl5
$ make
$ make test
$ make install
$ export PERL5LIB=~/perl5/lib/5.8.6:~/perl5/lib/site_perl/5.8.6
$ cd ../mod_perl-1.29/
$ ~/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
$ make
$ make install
$ cd ../apache_1.3.33
$ ./configure --prefix=$HOME/apache \
--with-layout=Apache \
--disable-rule=EXPAT \
--enable-module=rewrite \
--activate-module=src/modules/perl/libperl.a \
--disable-shared=perl
$ make
$ make install
$ cd ../Apache-Session-1.6
$ ~/perl5/bin/perl Makefile.PL PREFIX=~/perl5
$ make
$ make install
$ cd ../libapreq-1.33
$ ~/perl5/bin/perl Makefile.PL PREFIX=~/perl5
$ make
$ make install
--
Jason Dixon
DixonGroup Consulting
http://www.dixongroup.net
Re: mod_perl build fails on MakeMaker
Posted by "Philip M. Gollucci" <pg...@p6m7g8.com>.
Jason Dixon wrote:
> 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
./Configure -sde \
-Dprefix=$PREFIX
I belive you need to install perl this way instead for starters.
END
-----------------------------------------------------------------------------
Philip M. Gollucci
Senior Developer - Liquidity Services Inc.
Phone: 202.558.6268 (Direct)
E-Mail: pgollucci@liquidation.com
Web: http://www.liquidation.com