On Wed, Sep 19, 2012 at 12:43 PM, bluedome <adrian...@gmail.com> wrote:

>
>
> I'm building mod_perl with a perl built using perlbrew.
>
> The build succeeds but make test fails because @INC is not correct.
>
> @INC for the perlbrew-built perl is:
>
>   @INC:
>
>
> /opt/comms/be/perl5/perlbrew/perls/perl-5.16.0/lib/site_perl/5.16.0/x86_64-linux
>     /opt/comms/be/perl5/perlbrew/perls/perl-5.16.0/lib/site_perl/5.16.0
>     /opt/comms/be/perl5/perlbrew/perls/perl-5.16.0/lib/5.16.0/x86_64-linux
>     /opt/comms/be/perl5/perlbrew/perls/perl-5.16.0/lib/5.16.0
>
> I built mod_perl with this perl, so it seems like it should keep this in
> INC, but it doesn't.  When I run
> apache the INC is:
>
> /usr/sbin/httpd  -d /opt/comms/be/code/apache_extensions/mod_perl-2.0.7/t
> -f
> /opt/comms/be/code/apache_extensions/mod_perl-2.0.7/t/conf/httpd.conf -D
> APACHE2
> using Apache/2.2.15 (prefork MPM)
>

I'm not sure I had the same problem, but it was kind of a pain to make
mod_perl work with Perlbrew.  I wanted to be able to simply run "cpanm
mod_perl2" and have it installed from CPAN.   But, that means not
installing modules in the default location.

So, I added this to a local copy of mod_perl's Makefile.PL and then saved
the new mod_perl tarball in our local repo.


+if ( $ENV{PERLBREW_ROOT} ) {
+    my $root = "$ENV{PERLBREW_ROOT}/perls/$ENV{PERLBREW_PERL}";
+    die "$root directory not found" unless -d $root;
+    push @ARGV, "MP_AP_DESTDIR=$root";
+}
+else {
+    die "Must be in PERLBREW environment";
+}

I also have to set DESTDIR, although that might be for libapreq2.

The other odd thing is tests failed because the tests were somehow loading
the exiting httpd.conf files in /etc/httpd.   Shouldn't do that, right?



-- 
Bill Moseley
mose...@hank.org

Reply via email to