On Wed, 2 Jul 2003, Randy Kobes wrote:

> On Wed, 2 Jul 2003, Issac Goldstand wrote:
>
> > *Almost* works on Win32 (XP-SP1) against ActivePerl 5.8.0 build
> > 806...
> > Compiling...
> > Apache.c
> > Apache.xs(1966) : error C2115: '=' : incompatible types
>
> This problem comes from
>
> > Characteristics of this binary (from libperl):
> >   Compile-time options: MULTIPLICITY USE_ITHREADS USE_LARGE_FILES
> > PERL_IMPLICIT_CONTEXT PERL_IMPLICIT_SYS
>
> ActiveState enabling LARGE_FILES support in the 8xx series
[ ... ]

Could you try this patch in the mod_perl sources:
===================================================================
Index: src/modules/perl/Apache.xs
===================================================================
RCS file: /home/cvs/modperl/src/modules/perl/Apache.xs,v
retrieving revision 1.127
diff -u -r1.127 Apache.xs
--- src/modules/perl/Apache.xs  14 Mar 2003 06:05:06 -0000      1.127
+++ src/modules/perl/Apache.xs  3 Jul 2003 02:14:13 -0000
@@ -1962,8 +1962,22 @@
             croak("statbuf is not an object");
         }
     }
-
+/* workaround for USE_LARGE_FILES on WIN32 ActivePerl 8xx */
+#if defined(WIN32) && defined(USE_LARGE_FILES)
+    statcache.st_dev = r->finfo.st_dev;
+    statcache.st_ino = r->finfo.st_ino;
+    statcache.st_mode = r->finfo.st_mode;
+    statcache.st_nlink = r->finfo.st_nlink;
+    statcache.st_uid = r->finfo.st_uid;
+    statcache.st_gid = r->finfo.st_gid;
+    statcache.st_rdev = r->finfo.st_rdev;
+    statcache.st_size = (__int64) r->finfo.st_size;
+    statcache.st_atime = r->finfo.st_atime;
+    statcache.st_mtime = r->finfo.st_mtime;
+    statcache.st_ctime = r->finfo.st_ctime;
+#else
     statcache = r->finfo;
+#endif
     if (r->finfo.st_mode) {
        laststatval = 0;
         sv_setpv(statname, r->filename);
==============================================================

It's sorta ugly, and there's probably a better way (or perhaps
even a more correct way :), but it seems to work with ActivePerl
8xx (with USE_LARGE_FILES), and all the supplied tests pass.

-- 
best regards,
randy

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to