On Mon, 16 Dec 2002, Steve Hay wrote:

> Randy Kobes wrote:
> >
> >I've found the same thing - I believe it's because of the
> >USE_LARGE_FILES support that ActivePerl 8xx has enabled, and this
> >runs into a conflict with the standard Win32 apache-1 which
> >doesn't have such support (in the above, statcache is from the
> >Perl side, and r->finfo is from Apache). This is still being
> >looked into ...
> >
> >One possibility is to recompile Apache with large_file support,
> >but this is non-trivial. And since the bulk of Win32 development
> >on Apache is going into Apache-2, it may be hard to get an Apache
> >developer to look at this.
> >
> Looking at mod_perl (1.27)'s Makefile.PL I see that there is a 
> uselargefiles_check() routine that originally warned about conflicts, 
> but now (as of 1.27, according to the Changes file) automatically sets 
> PERL_USELARGEFILES=0 to try to avert disaster.  But the only difference 
> that this seems to make is to stop Perl's $Config{ccflags} from being 
> appended to PERL_EXTRA_CFLAGS.  However, my Perl (804)'s 
> $Config{ccflags} doesn't mention anything to do with large_files, so 
> it's hardly surprising that disaster is not averted (if this is indeed 
> the problem).

That's true - Perl's ccflags don't mention USE_LARGE_FILES; it
only gets mentioned in the compile-time options. 
 
> Is there some other way, for Win32, to achieve what the 
> PERL_USELARGEFILES=0 hack tried to do?

This seems hard to do without recompiling either the standard
Apache sources (to enable large_files support) or else the
standard ActivePerl 8xx sources (to disable large_files support).
One possibility is to define one's own statcache (presently
defined in the header files under /Perl/lib/CORE/) as is defined
in a Win32 Perl without large_files support. That may get around
the problem in Apache.xs about incompatible types between
statcache and r->finfo, but this might lead to other problems
later.
  
> I also see that the warning that was originally output by
> uselargefiles_check() suggested re-building Apache with
> large_files support by simply specifying a couple of extra
> defines.  I take it from what you're saying that it isn't quite
> as trivial as that on Win32?

I tried just adding a couple of extra defines in compiling apache
- this starts a series of error messages in various C files about
incompatibilities, which then leads to having to put in a bunch
of #ifdef ...  statemements. Ultimately this probably could be
worked out, but I'd be very uncomfortable using such a hacked
version without some official Apache support.
 
> >By the way, mod_perl-2 (for use with Apache2) compiles fine with
> >the ActivePerl sources.
> >  
> >
> I've been reluctant to use mod_perl 2 for anything more than testing 
> purposes yet because its current version number (1.99_07) doesn't fill 
> me with confidence that it's sufficiently stable.  The mod_perl setup 
> that I'm trying to build is destined for a production environment, so 
> I'd rather stick to more tried and tested things for now.
> 
> I would be interested to hear how stable people think mod_perl 2 
> currently is on Win32.

That would be interesting ....

-- 
best regards,
randy 

Reply via email to