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]