You are viewing a plain text version of this content. The canonical link for it is here.
Posted to modperl@perl.apache.org by Morad IGMIR <sy...@alliancemca.com> on 2006/11/06 16:15:25 UTC

make fails compiling mp2+httpd 2.2.3

I've been having problems compiling mod_perl for several hours now,
I'm compiling it using gcc 3.3.4 and libc-2.3.5 on a  2.4.31 linux  
kernel ( distro : slackware 10.2 )
I dont understand, since this has been flawlessly working so far for  
the last few months.


Any clue would be welcome.
Thanks in advance :)


perl Makefile.PL MP_USE_STATIC=1 MP_AP_PREFIX=../httpd-2.2.3  
MP_AP_CONFIGURE="--with-mpm-prefork --prefix=/opt/apache --enable-ssl  
--enable-rewrite"

Works fine.
But then
make


gives me the following message :

make[1]: Entering directory `/opt/mod_perl-2.0.2/src/modules/perl'
cc -I/opt/mod_perl-2.0.2/src/modules/perl -I/opt/mod_perl-2.0.2/xs -I/ 
opt/mod_perl-2.0.2/../httpd-2.2.3/include -I/opt/mod_perl-2.0.2/../ 
httpd-2.2.3/srclib/apr/include -I/opt/mod_perl-2.0.2/../httpd-2.2.3/ 
srclib/apr-util/include -I/opt/mod_perl-2.0.2/../httpd-2.2.3/os/unix - 
fno-strict-aliasing -I/usr/local/include -I/usr/lib/perl5/5.8.4/i486- 
linux/CORE -DMOD_PERL -DMP_COMPAT_1X -O2 -march=i486 -mcpu=i686 -c  
mod_perl.c
In file included from /opt/httpd-2.2.3/include/ap_config.h:25,
                  from /opt/httpd-2.2.3/include/httpd.h:43,
                  from modperl_apache_includes.h:26,
                  from mod_perl.h:19,
                  from mod_perl.c:16:
/opt/httpd-2.2.3/srclib/apr/include/apr.h:270: error: parse error  
before "apr_off_t"
/opt/httpd-2.2.3/srclib/apr/include/apr.h:270: warning: data  
definition has no type or storage class
In file included from /opt/httpd-2.2.3/srclib/apr/include/ 
apr_file_io.h:29,
                  from /opt/httpd-2.2.3/srclib/apr/include/ 
apr_network_io.h:26,
                  from /opt/httpd-2.2.3/include/httpd.h:53,
                  from modperl_apache_includes.h:26,
                  from mod_perl.h:19,
                  from mod_perl.c:16:
/opt/httpd-2.2.3/srclib/apr/include/apr_file_info.h:204: error: parse  
error before "apr_off_t"
/opt/httpd-2.2.3/srclib/apr/include/apr_file_info.h:204: warning: no  
semicolon at end of struct or union
/opt/httpd-2.2.3/srclib/apr/include/apr_file_info.h:206: warning:  
data definition has no type or storage class
/opt/httpd-2.2.3/srclib/apr/include/apr_file_info.h:219: error: parse  
error before '}' token
In file included from /opt/httpd-2.2.3/srclib/apr/include/ 
apr_network_io.h:26,
                  from /opt/httpd-2.2.3/include/httpd.h:53,
                  from modperl_apache_includes.h:26,
                  from mod_perl.h:19,
                  from mod_perl.c:16:
/opt/httpd-2.2.3/srclib/apr/include/apr_file_io.h:548: error: parse  
error before "apr_off_t"
/opt/httpd-2.2.3/srclib/apr/include/apr_file_io.h:740: error: parse  
error before "apr_off_t"
In file included from /opt/httpd-2.2.3/include/httpd.h:53,
                  from modperl_apache_includes.h:26,
                  from mod_perl.h:19,
                  from mod_perl.c:16:
/opt/httpd-2.2.3/srclib/apr/include/apr_network_io.h:545: error:  
parse error before "apr_off_t"
In file included from /opt/httpd-2.2.3/srclib/apr-util/include/ 
apr_buckets.h:32,
                  from /opt/httpd-2.2.3/include/httpd.h:54,
                  from modperl_apache_includes.h:26,
                  from mod_perl.h:19,
                  from mod_perl.c:16:
/opt/httpd-2.2.3/srclib/apr/include/apr_mmap.h:134: error: parse  
error before "apr_off_t"
/opt/httpd-2.2.3/srclib/apr/include/apr_mmap.h:161: error: parse  
error before "apr_off_t"
In file included from /opt/httpd-2.2.3/include/httpd.h:54,
                  from modperl_apache_includes.h:26,
                  from mod_perl.h:19,
                  from mod_perl.c:16:
/opt/httpd-2.2.3/srclib/apr-util/include/apr_buckets.h:242: error:  
parse error before "apr_off_t"
/opt/httpd-2.2.3/srclib/apr-util/include/apr_buckets.h:242: warning:  
no semicolon at end of struct or union
/opt/httpd-2.2.3/srclib/apr-util/include/apr_buckets.h:255: error:  
parse error before '}' token
/opt/httpd-2.2.3/srclib/apr-util/include/apr_buckets.h:634: error:  
field `b' has incomplete type
/opt/httpd-2.2.3/srclib/apr-util/include/apr_buckets.h:706: error:  
parse error before "apr_off_t"
/opt/httpd-2.2.3/srclib/apr-util/include/apr_buckets.h:718: error:  
parse error before "apr_off_t"
/opt/httpd-2.2.3/srclib/apr-util/include/apr_buckets.h:754: error:  
parse error before "apr_off_t"
/opt/httpd-2.2.3/srclib/apr-util/include/apr_buckets.h:890: error:  
parse error before "apr_off_t"
/opt/httpd-2.2.3/srclib/apr-util/include/apr_buckets.h:1168: error:  
parse error before "apr_off_t"
/opt/httpd-2.2.3/srclib/apr-util/include/apr_buckets.h:1367: error:  
parse error before "apr_off_t"
/opt/httpd-2.2.3/srclib/apr-util/include/apr_buckets.h:1381: error:  
parse error before "apr_off_t"
/opt/httpd-2.2.3/srclib/apr-util/include/apr_buckets.h:1431: error:  
parse error before "apr_off_t"
/opt/httpd-2.2.3/srclib/apr-util/include/apr_buckets.h:1447: error:  
parse error before "apr_off_t"
In file included from /opt/httpd-2.2.3/include/httpd.h:62,
                  from modperl_apache_includes.h:26,
                  from mod_perl.h:19,
                  from mod_perl.c:16:
/usr/include/stdlib.h:597: error: `free' redeclared as different kind  
of symbol
/opt/httpd-2.2.3/srclib/apr-util/include/apr_buckets.h:252: error:  
previous declaration of `free'
In file included from modperl_apache_includes.h:26,
                  from mod_perl.h:19,
                  from mod_perl.c:16:
/opt/httpd-2.2.3/include/httpd.h:826: error: parse error before  
"apr_off_t"
/opt/httpd-2.2.3/include/httpd.h:826: warning: no semicolon at end of  
struct or union
/opt/httpd-2.2.3/include/httpd.h:828: warning: data definition has no  
type or storage class
/opt/httpd-2.2.3/include/httpd.h:839: error: parse error before  
"clength"
/opt/httpd-2.2.3/include/httpd.h:839: warning: data definition has no  
type or storage class
/opt/httpd-2.2.3/include/httpd.h:842: error: parse error before  
"remaining"
/opt/httpd-2.2.3/include/httpd.h:842: warning: data definition has no  
type or storage class
/opt/httpd-2.2.3/include/httpd.h:844: error: parse error before  
"read_length"
/opt/httpd-2.2.3/include/httpd.h:844: warning: data definition has no  
type or storage class
/opt/httpd-2.2.3/include/httpd.h:975: error: parse error before '}'  
token
In file included from /usr/include/pthread.h:21,
                  from /opt/httpd-2.2.3/srclib/apr/include/ 
apr_portable.h:47,
                  from /opt/httpd-2.2.3/include/http_protocol.h:31,
                  from modperl_apache_includes.h:29,
                  from mod_perl.h:19,
                  from mod_perl.c:16:
/usr/include/time.h:254: error: `ctime' redeclared as different kind  
of symbol
/opt/httpd-2.2.3/srclib/apr/include/apr_file_info.h:212: error:  
previous declaration of `ctime'
In file included from /opt/httpd-2.2.3/include/http_protocol.h:34,
                  from modperl_apache_includes.h:29,
                  from mod_perl.h:19,
                  from mod_perl.c:16:
/opt/httpd-2.2.3/include/util_filter.h:142: error: parse error before  
"apr_off_t"
/opt/httpd-2.2.3/include/util_filter.h:299: error: parse error before  
"apr_off_t"
In file included from modperl_apache_includes.h:29,
                  from mod_perl.h:19,
                  from mod_perl.c:16:
/opt/httpd-2.2.3/include/http_protocol.h:111: error: parse error  
before "apr_off_t"
/opt/httpd-2.2.3/include/http_protocol.h:203: error: parse error  
before "apr_off_t"
In file included from modperl_apache_includes.h:33,
                  from mod_perl.h:19,
                  from mod_perl.c:16:
/opt/httpd-2.2.3/include/http_core.h:229: error: parse error before  
"ap_get_limit_req_body"
/opt/httpd-2.2.3/include/http_core.h:229: warning: data definition  
has no type or storage class
/opt/httpd-2.2.3/include/http_core.h:288: error: `ap_auth_type'  
redeclared as different kind of symbol
/opt/httpd-2.2.3/include/httpd.h:898: error: previous declaration of  
`ap_auth_type'
/opt/httpd-2.2.3/include/http_core.h:510: error: parse error before  
"apr_off_t"
/opt/httpd-2.2.3/include/http_core.h:510: warning: no semicolon at  
end of struct or union
/opt/httpd-2.2.3/include/http_core.h:525: error: conflicting types  
for `output_filters'
/opt/httpd-2.2.3/include/httpd.h:956: error: previous declaration of  
`output_filters'
/opt/httpd-2.2.3/include/http_core.h:526: error: conflicting types  
for `input_filters'
/opt/httpd-2.2.3/include/httpd.h:958: error: previous declaration of  
`input_filters'
/opt/httpd-2.2.3/include/http_core.h:544: error: parse error before  
':' token
/opt/httpd-2.2.3/include/http_core.h:549: error: parse error before  
':' token
/opt/httpd-2.2.3/include/http_core.h:550: error: parse error before  
':' token
/opt/httpd-2.2.3/include/http_core.h:556: error: parse error before  
':' token
/opt/httpd-2.2.3/include/http_core.h:558: warning: data definition  
has no type or storage class
/opt/httpd-2.2.3/include/http_core.h:605: error: parse error before  
'*' token
/opt/httpd-2.2.3/include/http_core.h:611: error: parse error before  
"apr_off_t"
/opt/httpd-2.2.3/include/http_core.h:672: error: parse error before  
"apr_off_t"
In file included from modperl_apr_includes.h:28,
                  from modperl_common_includes.h:21,
                  from mod_perl.h:20,
                  from mod_perl.c:16:
/opt/httpd-2.2.3/srclib/apr/include/apr_strings.h:297: error: parse  
error before "apr_off_t"
/opt/httpd-2.2.3/srclib/apr/include/apr_strings.h:313: error: parse  
error before '*' token
/opt/httpd-2.2.3/srclib/apr/include/apr_strings.h:349: error: parse  
error before "size"
In file included from mod_perl.h:71,
                  from mod_perl.c:16:
modperl_types.h:232: error: parse error before "apr_off_t"
modperl_types.h:232: warning: no semicolon at end of struct or union
modperl_types.h:237: error: parse error before '}' token
modperl_types.h:237: warning: data definition has no type or storage  
class
In file included from mod_perl.h:84,
                  from mod_perl.c:16:
modperl_filter.h:50: error: parse error before '*' token
modperl_filter.h:55: error: parse error before "apr_off_t"
modperl_filter.h:55: warning: data definition has no type or storage  
class
modperl_filter.h:57: error: parse error before '*' token
modperl_filter.h:57: warning: data definition has no type or storage  
class
modperl_filter.h:62: error: parse error before '*' token
modperl_filter.h:72: error: parse error before '*' token
modperl_filter.h:73: error: parse error before '*' token
modperl_filter.h:77: error: parse error before '*' token
modperl_filter.h:82: error: parse error before '*' token
modperl_filter.h:93: error: parse error before "apr_off_t"
modperl_filter.h:100: error: parse error before '*' token
modperl_filter.h:105: error: parse error before '*' token
In file included from mod_perl.h:85,
                  from mod_perl.c:16:
modperl_bucket.h:20: error: parse error before "apr_off_t"
In file included from mod_perl.h:86,
                  from mod_perl.c:16:
modperl_pcw.h:36: error: parse error before "core_dir_config"
mod_perl.c: In function `modperl_startup':
mod_perl.c:307: error: storage size of `finfo' isn't known
mod_perl.c: In function `modperl_hook_create_request':
mod_perl.c:733: error: dereferencing pointer to incomplete type
mod_perl.c:735: error: dereferencing pointer to incomplete type
mod_perl.c: In function `modperl_response_init':
mod_perl.c:959: error: dereferencing pointer to incomplete type
mod_perl.c:960: error: dereferencing pointer to incomplete type
mod_perl.c:965: error: dereferencing pointer to incomplete type
mod_perl.c:972: error: dereferencing pointer to incomplete type
mod_perl.c:973: error: dereferencing pointer to incomplete type
mod_perl.c: In function `modperl_response_finish':
mod_perl.c:982: error: dereferencing pointer to incomplete type
mod_perl.c: In function `modperl_response_handler_run':
mod_perl.c:996: error: dereferencing pointer to incomplete type
mod_perl.c:997: error: dereferencing pointer to incomplete type
mod_perl.c:997: error: dereferencing pointer to incomplete type
mod_perl.c: In function `modperl_response_handler':
mod_perl.c:1012: error: dereferencing pointer to incomplete type
mod_perl.c:1020: error: dereferencing pointer to incomplete type
mod_perl.c:1020: error: dereferencing pointer to incomplete type
mod_perl.c:1020: error: dereferencing pointer to incomplete type
mod_perl.c:1020: error: dereferencing pointer to incomplete type
mod_perl.c:1020: error: dereferencing pointer to incomplete type
mod_perl.c:1020: error: dereferencing pointer to incomplete type
mod_perl.c:1020: error: dereferencing pointer to incomplete type
mod_perl.c:1020: error: dereferencing pointer to incomplete type
mod_perl.c:1020: error: dereferencing pointer to incomplete type
mod_perl.c:1020: error: dereferencing pointer to incomplete type
mod_perl.c:1020: error: dereferencing pointer to incomplete type
mod_perl.c:1020: error: dereferencing pointer to incomplete type
mod_perl.c:1020: error: dereferencing pointer to incomplete type
mod_perl.c:1020: error: dereferencing pointer to incomplete type
mod_perl.c:1020: error: dereferencing pointer to incomplete type
mod_perl.c:1020: error: dereferencing pointer to incomplete type
mod_perl.c:1020: error: dereferencing pointer to incomplete type
mod_perl.c:1020: error: dereferencing pointer to incomplete type
mod_perl.c:1020: error: dereferencing pointer to incomplete type
mod_perl.c:1020: error: dereferencing pointer to incomplete type
mod_perl.c: In function `modperl_response_handler_cgi':
mod_perl.c:1048: error: dereferencing pointer to incomplete type
mod_perl.c:1051: error: dereferencing pointer to incomplete type
mod_perl.c:1057: error: dereferencing pointer to incomplete type
mod_perl.c:1057: error: dereferencing pointer to incomplete type
mod_perl.c:1057: error: dereferencing pointer to incomplete type
mod_perl.c:1057: error: dereferencing pointer to incomplete type
mod_perl.c:1057: error: dereferencing pointer to incomplete type
mod_perl.c:1057: error: dereferencing pointer to incomplete type
mod_perl.c:1057: error: dereferencing pointer to incomplete type
mod_perl.c:1057: error: dereferencing pointer to incomplete type
mod_perl.c:1057: error: dereferencing pointer to incomplete type
mod_perl.c:1057: error: dereferencing pointer to incomplete type
mod_perl.c:1057: error: dereferencing pointer to incomplete type
mod_perl.c:1057: error: dereferencing pointer to incomplete type
mod_perl.c:1057: error: dereferencing pointer to incomplete type
mod_perl.c:1057: error: dereferencing pointer to incomplete type
mod_perl.c:1057: error: dereferencing pointer to incomplete type
mod_perl.c:1057: error: dereferencing pointer to incomplete type
mod_perl.c:1057: error: dereferencing pointer to incomplete type
mod_perl.c:1057: error: dereferencing pointer to incomplete type
mod_perl.c:1057: error: dereferencing pointer to incomplete type
mod_perl.c:1057: error: dereferencing pointer to incomplete type
mod_perl.c: At top level:
/opt/httpd-2.2.3/include/httpd.h:923: error: storage size of `finfo'  
isn't known
make[1]: *** [mod_perl.o] Error 1
make[1]: Leaving directory `/opt/mod_perl-2.0.2/src/modules/perl'
make: *** [modperl_lib] Error 2



Re: make fails compiling mp2+httpd 2.2.3

Posted by "Philip M. Gollucci" <pg...@p6m7g8.com>.
Morad IGMIR wrote:
> I've been having problems compiling mod_perl for several hours now,
> I'm compiling it using gcc 3.3.4 and libc-2.3.5 on a  2.4.31 linux 
> kernel ( distro : slackware 10.2 )
> I dont understand, since this has been flawlessly working so far for the 
> last few months.
> /opt/httpd-2.2.3/srclib/apr/include/apr.h:270: error: parse error before 
this is a Large File Support conflict.

### Picking the right LFS support flags for mod_perl, by Joe Orton ###
#
# on Unix systems where by default off_t is a "long", a 32-bit integer,
# there are two different ways to get "large file" support, i.e. the
# ability to manipulate files bigger than 2Gb:
#
# 1) you compile using -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64.  This
# makes sys/types.h expose off_t as a "long long", a 64-bit integer, and
# changes the size of a few other types too.  The C library headers
# automatically arrange to expose a correct implementation of functions
# like lseek() which take off_t parameters.
#
# 2) you compile using -D_LARGEFILE64_SOURCE, and use what is called the
# "transitional" interface.  This means that the system headers expose a
# new type, "off64_t", which is a long long, but the size of off_t is not
# changed.   A bunch of new functions like lseek64() are exposed by the C
# library headers, which take off64_t parameters in place of off_t.
#
# Perl built with -Duselargefiles uses approach (1).
#
# APR HEAD uses (2) by default. APR 0.9 does not by default use either
# approach, but random users can take a httpd-2.0.49 tarball, and do:
#
#   export CPPFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
#   ./configure
#
# to build a copy of apr/httpd which uses approach (1), though this
# isn't really a supported configuration.
#
# The problem that mod_perl has to work around is when you take a
# package built with approach (1), i.e. Perl, and any package which was
# *not* built with (1), i.e. APR, and want to interface between
# them. [1]
#
# So what you want to know is whether APR was built using approach (1)
# or not.  APR_HAS_LARGE_FILES in HEAD just tells you whether APR was
# built using approach (2) or not, which isn't useful in solving this
# problem.
#
# [1]: In some cases, it may be OK to interface between packages which
# use (1) and packages which use (2).  APR HEAD is currently not such a
# case, since the size of apr_ino_t is still changing when
# _FILE_OFFSET_BITS is defined.
#
# If you want to see how this matters, get some httpd function to do at
# the very beginning of main():
#
#   printf("sizeof(request_rec) = %lu, sizeof(apr_finfo_t) = %ul",
#          sizeof(request_rec), sizeof(apr_finfo_t));
#
# and then put the same printf in mod_perl somewhere, and see the
# differences. This is why it is a really terribly silly idea to ever
# use approach (1) in anything other than an entirely self-contained
# application.
#
# there is no conflict if both libraries either have or don't have
# large files support enabled


-- 
------------------------------------------------------------------------
Philip M. Gollucci (pgollucci@p6m7g8.com) 323.219.4708
Consultant / http://p6m7g8.net/Resume/resume.shtml
Senior Software Engineer - TicketMaster - http://ticketmaster.com
1024D/A79997FA F357 0FDD 2301 6296 690F  6A47 D55A 7172 A799 97F

When I call your name, Girl, it starts to flame
Burning in my heart, Tearing it all apart..
No matter how I try My love I cannot hide....