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]

Reply via email to