You are viewing a plain text version of this content. The canonical link for it is here.
Posted to modperl@perl.apache.org by Matthew Darwin <ma...@mdarwin.ca> on 2004/01/12 23:35:05 UTC

[mp2] build problem mod_perl-1.99_12 and "make install DESTDIR"

If you build apache with

     ./configure \
         --prefix=/kinnetics/component/httpd

     make install DESTDIR=/tmp/apache-kinnetics-$USER

then when you try compiling mod_perl you get:

    perl Makefile.PL \
    MP_AP_PREFIX=/tmp/apache-kinnetics-$USER/kinnetics/component/httpd \ 

    LIB=/tmp/apache-kinnetics-$USER/kinnetics/component/httpd/site_perl \
    PREFIX=/tmp



************* WARNING *************
!!! '/tmp/apache-kinnetics-darwin/kinnetics/component/httpd/bin/apxs -q 
INCLUDEDIR' failed:
!!! cannot open /kinnetics/component/httpd/build/config_vars.mk: No such 
file or directory at 
/tmp/apache-kinnetics-darwin/kinnetics/component/httpd/bin/apxs line 256.


Note that this works just fine under mod_perl 1.99_10-dev.


-- 
Reporting bugs: http://perl.apache.org/bugs/
Mail list info: http://perl.apache.org/maillist/modperl.html


Re: [mp2] build problem mod_perl-1.99_12 and "make install DESTDIR"

Posted by Stas Bekman <st...@stason.org>.
Matthew Darwin wrote:
> Well, presumably it points to the directory where it gets installed. 
> However, I haven't installed it yet because I need to compile mod_perl.
> (My runtime machine doesn't have a compiler).
> 
> If that variable is changed, then how would apxs find things after I tar 
> it up (not that I use it after it is in the correct location).

It's your problem, since you created it. apxs is configured at build time. 
After you have installed httpd, if you move files around you must adjust apxs 
to point to their new location. This is something that any distributor of 
apache needs to worry about.

Really what you (or any other distributor) need to do is to adjust the files 
under build/ (config_vars.mk and may be others), which apxs gets the info 
from. And you need to adjust apxs to point to the new location as well. Since 
you move everything to a new directory, it should be an easy 'perl -pi -e 
's|||' build/* bin/apxs', may be a few other files as well.

If apxs is not giving us the correct information about httpd, we can't build 
mod_perl.

> I'm happy to open a apache bug.
> http://nagoya.apache.org/bugzilla/show_bug.cgi?id=26076

Thanks. I won't be surprised if the answer (if you ever get one) will be - 
don't do this (change the install target after the build). But may be I'm 
overpessimistic.

__________________________________________________________________
Stas Bekman            JAm_pH ------> Just Another mod_perl Hacker
http://stason.org/     mod_perl Guide ---> http://perl.apache.org
mailto:stas@stason.org http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org   http://ticketmaster.com


-- 
Reporting bugs: http://perl.apache.org/bugs/
Mail list info: http://perl.apache.org/maillist/modperl.html


Re: [mp2] build problem mod_perl-1.99_12 and "make install DESTDIR"

Posted by Matthew Darwin <ma...@mdarwin.ca>.
Well, presumably it points to the directory where it gets installed. 
However, I haven't installed it yet because I need to compile mod_perl.
(My runtime machine doesn't have a compiler).

If that variable is changed, then how would apxs find things after I tar 
it up (not that I use it after it is in the correct location).

I'm happy to open a apache bug.
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=26076

Stas Bekman wrote:
> Matthew Darwin wrote:
> 
>> If you build apache with
>>
>>     ./configure \
>>         --prefix=/kinnetics/component/httpd
>>
>>     make install DESTDIR=/tmp/apache-kinnetics-$USER
> 
> 
> When you do that, does apxs get affected? i.e. does it get all the 
> directories adjusted. If not (which I suppose is the case) it's a bug in 
> httpd build. You should report it to httpd as:
> 
> I did:
>  ./configure --prefix=/kinnetics/component/httpd
>   make install DESTDIR=/tmp/apache-kinnetics-$USER
> but apxs still points to the old location:
>   /tmp/apache-kinnetics-darwin/kinnetics/component/httpd/bin/apxs -q
>   INCLUDEDIR' failed:
>   !!! cannot open /kinnetics/component/httpd/build/config_vars.mk: No such
>    file or directory at
>   /tmp/apache-kinnetics-darwin/kinnetics/component/httpd/bin/apxs line 256.
> unless it's documented to behave this way
> 
>> then when you try compiling mod_perl you get:
>>
>>    perl Makefile.PL \
>>    MP_AP_PREFIX=/tmp/apache-kinnetics-$USER/kinnetics/component/httpd \
>>    LIB=/tmp/apache-kinnetics-$USER/kinnetics/component/httpd/site_perl \
>>    PREFIX=/tmp
>>
>> ************* WARNING *************
>> !!! '/tmp/apache-kinnetics-darwin/kinnetics/component/httpd/bin/apxs 
>> -q INCLUDEDIR' failed:
>> !!! cannot open /kinnetics/component/httpd/build/config_vars.mk: No 
>> such file or directory at 
>> /tmp/apache-kinnetics-darwin/kinnetics/component/httpd/bin/apxs line 256.
>>
>>
>> Note that this works just fine under mod_perl 1.99_10-dev.
> 
> 
> right, we just didn't use apxs in earlier versions (and the build 
> couldn't handle this situation). mod_perl relies on a working apxs. If 
> that's broken it needs to be fixed.
> 
> 
> __________________________________________________________________
> Stas Bekman            JAm_pH ------> Just Another mod_perl Hacker
> http://stason.org/     mod_perl Guide ---> http://perl.apache.org
> mailto:stas@stason.org http://use.perl.org http://apacheweek.com
> http://modperlbook.org http://apache.org   http://ticketmaster.com
> 
> 

-- 
Matthew Darwin
matthew@mdarwin.ca
http://www.mdarwin.ca

-- 
Reporting bugs: http://perl.apache.org/bugs/
Mail list info: http://perl.apache.org/maillist/modperl.html


Re: [mp2] build problem mod_perl-1.99_12 and "make install DESTDIR"

Posted by Stas Bekman <st...@stason.org>.
Matthew Darwin wrote:
> If you build apache with
> 
>     ./configure \
>         --prefix=/kinnetics/component/httpd
> 
>     make install DESTDIR=/tmp/apache-kinnetics-$USER

When you do that, does apxs get affected? i.e. does it get all the directories 
adjusted. If not (which I suppose is the case) it's a bug in httpd build. You 
should report it to httpd as:

I did:
  ./configure --prefix=/kinnetics/component/httpd
   make install DESTDIR=/tmp/apache-kinnetics-$USER
but apxs still points to the old location:
   /tmp/apache-kinnetics-darwin/kinnetics/component/httpd/bin/apxs -q
   INCLUDEDIR' failed:
   !!! cannot open /kinnetics/component/httpd/build/config_vars.mk: No such
    file or directory at
   /tmp/apache-kinnetics-darwin/kinnetics/component/httpd/bin/apxs line 256.
unless it's documented to behave this way

> then when you try compiling mod_perl you get:
> 
>    perl Makefile.PL \
>    MP_AP_PREFIX=/tmp/apache-kinnetics-$USER/kinnetics/component/httpd \
>    LIB=/tmp/apache-kinnetics-$USER/kinnetics/component/httpd/site_perl \
>    PREFIX=/tmp
> 
> ************* WARNING *************
> !!! '/tmp/apache-kinnetics-darwin/kinnetics/component/httpd/bin/apxs -q 
> INCLUDEDIR' failed:
> !!! cannot open /kinnetics/component/httpd/build/config_vars.mk: No such 
> file or directory at 
> /tmp/apache-kinnetics-darwin/kinnetics/component/httpd/bin/apxs line 256.
> 
> 
> Note that this works just fine under mod_perl 1.99_10-dev.

right, we just didn't use apxs in earlier versions (and the build couldn't 
handle this situation). mod_perl relies on a working apxs. If that's broken it 
needs to be fixed.


__________________________________________________________________
Stas Bekman            JAm_pH ------> Just Another mod_perl Hacker
http://stason.org/     mod_perl Guide ---> http://perl.apache.org
mailto:stas@stason.org http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org   http://ticketmaster.com


-- 
Reporting bugs: http://perl.apache.org/bugs/
Mail list info: http://perl.apache.org/maillist/modperl.html


Re: [mp2] build problem mod_perl-1.99_12 and "make install DESTDIR"

Posted by Matthew Darwin <ma...@mdarwin.ca>.
Also works under 1.99_11

BTW, my perl version is 5.8.1 and apache 2.0.48.

Matthew Darwin wrote:

> 
> Note that this works just fine under mod_perl 1.99_10-dev.
> 
> 

-- 
Reporting bugs: http://perl.apache.org/bugs/
Mail list info: http://perl.apache.org/maillist/modperl.html


Re: [mp2] build problem mod_perl-1.99_12 and "make install DESTDIR"

Posted by Stas Bekman <st...@stason.org>.
Matthew Darwin wrote:
> If you build apache with
> 
>     ./configure \
>         --prefix=/kinnetics/component/httpd
> 
>     make install DESTDIR=/tmp/apache-kinnetics-$USER
> 
> then when you try compiling mod_perl you get:
> 
>    perl Makefile.PL \
>    MP_AP_PREFIX=/tmp/apache-kinnetics-$USER/kinnetics/component/httpd \
>    LIB=/tmp/apache-kinnetics-$USER/kinnetics/component/httpd/site_perl \
>    PREFIX=/tmp
> 
> 
> 
> ************* WARNING *************
> !!! '/tmp/apache-kinnetics-darwin/kinnetics/component/httpd/bin/apxs -q 
> INCLUDEDIR' failed:
> !!! cannot open /kinnetics/component/httpd/build/config_vars.mk: No such 
> file or directory at 
> /tmp/apache-kinnetics-darwin/kinnetics/component/httpd/bin/apxs line 256.
> 
> 
> Note that this works just fine under mod_perl 1.99_10-dev.

So this issue has not been resolved, right? I think we could handle that on 
the modperl side. If MP_AP_PREFIX is passed, we should make sure that APXS is 
not used, even if it has been found. How does that sound? just to test my 
suggestion delete 
/tmp/apache-kinnetics-darwin/kinnetics/component/httpd/bin/apxs so it won't 
find it and try again.

also why don't point MP_AP_PREFIX at the apache source? why do you point it to 
the destination dir? this could be your problem.

__________________________________________________________________
Stas Bekman            JAm_pH ------> Just Another mod_perl Hacker
http://stason.org/     mod_perl Guide ---> http://perl.apache.org
mailto:stas@stason.org http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org   http://ticketmaster.com


-- 
Reporting bugs: http://perl.apache.org/bugs/
Mail list info: http://perl.apache.org/maillist/modperl.html