perl-modperl mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Gordon Lack" <>
Subject Re: make test fails (Solaris and Linux, same problem)
Date Wed, 24 Aug 2005 16:28:53 GMT
> This strange kind of segfaults is usually the syptoms of disagreements in
> large-file support in httpd/apr/perl.
> Detecting these kind of configuration problems has been discussed before, but
> it's not quite as easy as it sounds ;-)
> You can see one of the original discussions about this here:

   Thanks.  This helped me to get a workaround.

   I run configure through a front-end script and so for Linux and
Solaris Apache2 config I get this to edit the lfs64 defined onto the
EXTRA_CPPFLAGS (there being no other way to get anything into this
variable).  Then things work.  It was odd to see that the
core_dir_config struct was affected, as it didn't seem to contain
anythign file-related, but it turns out that the rlim_t (in struct
rlimit) changes size according to lfs64.

   I actually use Perl to get my compilation options for Apache (since
I'm going to add mod_perl to it) but Perl puts the lfs64 settings onto
CFLAGS rather than CPPFLAGS.

  lib/Apache2/ has some comments about how Perl and Apache build
64-bit fs versions.  It states:
#             This is why it is a really terribly silly idea to ever
# use approach (1) in anything other than an entirely self-contained
# application.

 (approach (1) is using "-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64")

   I would disagree totally.  Approach (2) was called transitional for a
reason - it was what you could use while vendors transitioned their
header files to make approach (1) work.  Well written code can use
approach (1) (and hence the same code can produce 32- or 64- bit
versions just by changing the compialtion options).  The binaries
resulting from both approaches is basically the same - it's just the
code you write which differs,

View raw message