On Mon, 16 Dec 2002, Steve Hay wrote: > Hi, > > I'm having trouble compiling mod_perl 1.27 (with Apache 1.3.27 / Perl > 5.8.0) on Windows (XP SP1 with MS VC++ 6.0 SP5). > > It builds fine with Perl 5.8.0 standard sources, but I'm just trying to > upgrade my Perl to the slightly patched sources that ActivePerl Build > 804 uses. I've built Perl from these new sources with the same build > options that I used before for the standard source build (no threading, > and Perl's malloc). (The output of "Perl -V" is at the bottom of this > mail.) > > I run the following commands to build mod_perl: > > perl Makefile.PL APACHE_SRC=C:/apache > INSTALL_DLL=C:/apache/modules EAPI > nmake > > The first command runs fine, but the second has the following error: > > Apache.xs(1963) : error C2115: '=' : incompatible types > > The line referred to by this error is: > > statcache = r->finfo; > > I've no idea why this should be causing a problem with the new > Perl. If I switch the Perl that I'm building against back to > the standard 5.8.0 (by simply re-naming directories) and then > re-run the "nmake" command above then mod_perl compiles and > links with no errors. > > Can anyone shed any light on this? > > - Steve [ .. ] > Characteristics of this binary (from libperl): > Compile-time options: USE_LARGE_FILES
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. By the way, mod_perl-2 (for use with Apache2) compiles fine with the ActivePerl sources. -- best regards, randy kobes