Joe Orton wrote:
> OK, let's do the background...
wow. thanks for all that. I never really groked the issue but you've
clarified it nicely. much appreciated!
> 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.
>
> Does that make sense?
yes, I think so. so. by this
> if ($perl_lfs64 && !$apr_lfs64) {
> # Serious Conflict! Strip -D_FILE_OFFSET_BITS=64 from $perl_cflags.
> }
you mean that -D_FILE_OFFSET_BITS=64 ought to be stripped from $perl_cflags
and perl recompiled, not that mod_perl can get away with simply not
including that value when it itself is compiled. if it were stripped only
in mod_perl compilation you would have conflicting definitions of off_t in
the two sources - long long in perl and int in mod_perl/APR.
sounds like a real bummer.
> This is why it is a really terribly silly idea to ever use
> approach (1) in anything other than an entirely self-contained
> application.
hmm. I'm sure perl has a good reason for doing it that way, right? does
anyone know? your explanation is clear and, if accurate, would seem to
indicate that -D_FILE_OFFSET_BITS=64 might not be a good default for
-Duselargefiles and we ought to bring this up to p5p?
--Geoff
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]