You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@perl.apache.org by Stas Bekman <st...@stason.org> on 2004/12/07 05:07:25 UTC

[mp2] static build problem

philippe, I've figured out what the problem is. static build with worker 
blows up on:

make[1]: Entering directory `/home/stas/apache.org/httpd-2.0/server'
/home/stas/apache.org/httpd-2.0/srclib/apr/libtool --silent --mode=compile 
gcc [...] -static -c exports.c && touch exports.lo

In file included from exports.c:35:
/home/stas/apache.org/httpd-2.0/include/modperl_apr_perlio.h:22:22: 
iperlsys.h: No such file or directory
In file included from exports.c:35:
/home/stas/apache.org/httpd-2.0/include/modperl_apr_perlio.h:47: warning: 
parameter names (without types) in function declaration
/home/stas/apache.org/httpd-2.0/include/modperl_apr_perlio.h:66: error: 
syntax error before '*' token

Looking at httpd-2.0/server/exports.c: we find:

#include "modperl_apache_compat.h"
#include "modperl_apache_includes.h"
#include "modperl_apr_compat.h"
#include "modperl_apr_includes.h"
#include "modperl_apr_perlio.h"
#include "modperl_bucket.h"
#include "modperl_callback.h"
#include "modperl_cgi.h"
#include "modperl_cmd.h"

notice that "mod_perl.h" is included much later, which is the reason for 
the problem.

but "modperl_apr_perlio.h" was never meant to be public, it lives in
xs/APR/PerlIO and used by PerlIO.xs

The rest of the errors (and there are many), like:

In file included from exports.c:36:
/home/stas/apache.org/httpd-2.0/include/modperl_bucket.h:19: error: syntax 
error
  before "apr_bucket_alloc_t"
In file included from exports.c:37:
/home/stas/apache.org/httpd-2.0/include/modperl_callback.h:37: error: 
syntax err
or before "modperl_handler_t"

again those files aren't supposed to be included before
#include "mod_perl.h", but Apache doesn't know about that. I'm not
sure how those end up in exports.c and how to make them listed in the
right order.

-- 
__________________________________________________________________
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

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@perl.apache.org
For additional commands, e-mail: dev-help@perl.apache.org


Re: [mp2] static build problem

Posted by Stas Bekman <st...@stason.org>.
Randy Kobes wrote:

>>but "modperl_apr_perlio.h" was never meant to be public, it lives in
>>xs/APR/PerlIO and used by PerlIO.xs
> 
> 
> I thought this was public - at least, in the top-level
> Makefile.PL, APR/PerlIO/modperl_apr_perlio.h gets installed,
> as it's a member of @xs_h_files. If I remember correctly,
> this was done at one point as httpd-apreq-2 was
> contemplating something in this header.

You are right, Randy. It is public. The problem is really not about this 
header, but about all headers being included before "mod_perl.h" was.

-- 
__________________________________________________________________
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

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@perl.apache.org
For additional commands, e-mail: dev-help@perl.apache.org


Re: [mp2] static build problem

Posted by Randy Kobes <ra...@theoryx5.uwinnipeg.ca>.
On Mon, 6 Dec 2004, Stas Bekman wrote:

> philippe, I've figured out what the problem is. static build with worker
> blows up on:
>
> make[1]: Entering directory `/home/stas/apache.org/httpd-2.0/server'
> /home/stas/apache.org/httpd-2.0/srclib/apr/libtool --silent --mode=compile
> gcc [...] -static -c exports.c && touch exports.lo
>
> In file included from exports.c:35:
> /home/stas/apache.org/httpd-2.0/include/modperl_apr_perlio.h:22:22:
> iperlsys.h: No such file or directory
> In file included from exports.c:35:
> /home/stas/apache.org/httpd-2.0/include/modperl_apr_perlio.h:47: warning:
> parameter names (without types) in function declaration
> /home/stas/apache.org/httpd-2.0/include/modperl_apr_perlio.h:66: error:
> syntax error before '*' token
>
> Looking at httpd-2.0/server/exports.c: we find:
>
> #include "modperl_apache_compat.h"
> #include "modperl_apache_includes.h"
> #include "modperl_apr_compat.h"
> #include "modperl_apr_includes.h"
> #include "modperl_apr_perlio.h"
> #include "modperl_bucket.h"
> #include "modperl_callback.h"
> #include "modperl_cgi.h"
> #include "modperl_cmd.h"
>
> notice that "mod_perl.h" is included much later, which is the reason for
> the problem.
>
> but "modperl_apr_perlio.h" was never meant to be public, it lives in
> xs/APR/PerlIO and used by PerlIO.xs

I thought this was public - at least, in the top-level
Makefile.PL, APR/PerlIO/modperl_apr_perlio.h gets installed,
as it's a member of @xs_h_files. If I remember correctly,
this was done at one point as httpd-apreq-2 was
contemplating something in this header.

-- 
best regards,
randy

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@perl.apache.org
For additional commands, e-mail: dev-help@perl.apache.org