On Sat, 9 Nov 2002, Randy Kobes wrote:
> ---------- Forwarded message ----------
> Date: Sat, 09 Nov 2002 13:32:01 +0100
> From: Juergen Heckel <[EMAIL PROTECTED]>
> To: [EMAIL PROTECTED]
> Subject: Re: [Win32] ActivePerl-5.8 beta released
>
> Randy Kobes wrote:
> > Of relevance to mod_perl-2 Win32 users, ActivePerl just released
> > a beta version of their perl-5.8 binary; see
> > http://www.activestate.com/Products/ActivePerl/
>
> Hi,
> I tried this version (msi-package) with mod_perl-2.0 (latest snapshot)
> but I cannot compile it:
>
> W:\programme\Perl\lib\CORE\XSUB.h(399) : warning C4005: 'exit' : macro
> redefinition
> f:/apache2/include\os.h(97) : see previous definition of 'exit'
> modperl_interp.c(43) : error C2065: 'my_perl' : undeclared identifier
> ^^^^^^^^^^^^^^^^^^^^^^
> modperl_interp.c(43) : warning C4047: 'function' : 'struct interpreter
> *' diffes in levels of indirection from 'int '
> modperl_interp.c(43) : warning C4024: 'Perl_IMem_ptr' : different types
> for foral and actual parameter 1
> modperl_interp.c(43) : warning C4047: 'function' : 'struct interpreter
> *' diffes in levels of indirection from 'int '
> modperl_interp.c(43) : warning C4024: 'Perl_IMem_ptr' : different types
> for foral and actual parameter 1
> NMAKE : fatal error U1077: 'cl' : return code '0x2'
> Stop.
> NMAKE : fatal error U1077: 'cd' : return code '0x2'
>
> Again I don't know where to search (with ActivePerl 5.6.1 no more problems).
>
> Juergen
I believe this is related to ActivePerl's defining
USE_LARGE_FILES; with a self-compiled perl-5.8 using the same
compile-time options as ActivePerl except for USE_LARGE_FILES,
mod_perl-2 compiled fine.
I'm not confident the following is the right fix, and it most
certainly can be done cleaner, but used as a work-around,
mod_perl-2 compiled OK and passed all its tests with it, save for
occasional failures of some of the subtests of
t/modperl/sameinterp.t (but I got that as well with a
non-ActivePerl perl-5.8). 'perl -V' is at the end. The patch to
modperl_perl_includes.h is to get rid of the warning about exit
being redefined, and the patches to modperl_interp.c and
modperl_tipool.c are for the errors about my_perl being
undeclared.
==============================================================
Index: modperl_interp.c
===================================================================
RCS file: /home/cvspublic/modperl-2.0/src/modules/perl/modperl_interp.c,v
retrieving revision 1.53
diff -u -r1.53 modperl_interp.c
--- modperl_interp.c 22 Oct 2002 03:56:30 -0000 1.53
+++ modperl_interp.c 10 Nov 2002 03:30:37 -0000
@@ -39,7 +39,12 @@
PerlInterpreter *perl)
{
UV clone_flags = CLONEf_KEEP_PTR_TABLE;
- modperl_interp_t *interp =
+
+#if defined(WIN32) && defined(USE_LARGE_FILES)
+ dTHX;
+#endif
+
+ modperl_interp_t *interp =
(modperl_interp_t *)malloc(sizeof(*interp));
memset(interp, '\0', sizeof(*interp));
Index: modperl_perl_includes.h
===================================================================
RCS file: /home/cvspublic/modperl-2.0/src/modules/perl/modperl_perl_includes.h,v
retrieving revision 1.16
diff -u -r1.16 modperl_perl_includes.h
--- modperl_perl_includes.h 19 Jun 2002 05:18:04 -0000 1.16
+++ modperl_perl_includes.h 10 Nov 2002 03:30:37 -0000
@@ -36,6 +36,10 @@
#ifdef WIN32
# define uid_t perl_uid_t
# define gid_t perl_gid_t
+#ifdef exit
+#define perl_exit exit
+#undef exit
+#endif
#endif
#include "EXTERN.h"
Index: modperl_tipool.c
===================================================================
RCS file: /home/cvspublic/modperl-2.0/src/modules/perl/modperl_tipool.c,v
retrieving revision 1.9
diff -u -r1.9 modperl_tipool.c
--- modperl_tipool.c 5 Sep 2002 04:44:23 -0000 1.9
+++ modperl_tipool.c 10 Nov 2002 03:30:37 -0000
@@ -17,6 +17,11 @@
modperl_list_t *modperl_list_new()
{
+
+#if defined(WIN32) && defined(USE_LARGE_FILES)
+ dTHX;
+#endif
+
modperl_list_t *listp =
(modperl_list_t *)malloc(sizeof(*listp));
memset(listp, '\0', sizeof(*listp));
================================================================
Summary of my perl5 (revision 5 version 8 subversion 0) configuration:
Platform:
osname=MSWin32, osvers=4.0, archname=MSWin32-x86-multi-thread
uname=''
config_args='undef'
hint=recommended, useposix=true, d_sigaction=undef
usethreads=undef use5005threads=undef useithreads=define usemultiplicity=define
useperlio=define d_sfio=undef uselargefiles=define usesocks=undef
use64bitint=undef use64bitall=undef uselongdouble=undef
usemymalloc=n, bincompat5005=undef
Compiler:
cc='cl', ccflags ='-nologo -Gf -W3 -MD -DNDEBUG -O1 -DWIN32 -D_CONSOLE -DNO_STRICT
-DHAVE_DES_FCRYPT -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO
-DPERL_MSVCRT_READFIX',
optimize='-MD -DNDEBUG -O1',
cppflags='-DWIN32'
ccversion='', gccversion='', gccosandvers=''
intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234
d_longlong=undef, longlongsize=8, d_longdbl=define, longdblsize=10
ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='__int64', lseeksize=8
alignbytes=8, prototype=define
Linker and Libraries:
ld='link', ldflags ='-nologo -nodefaultlib -release -libpath:"C:\Perl\lib\CORE"
-machine:x86'
libpth=\lib
libs= oldnames.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib
advapi32.lib shell32.lib ole32.lib oleaut32.lib netapi32.lib uuid.lib wsock32.lib
mpr.lib winmm.lib version.lib odbc32.lib odbccp32.lib msvcrt.lib
perllibs= oldnames.lib kernel32.lib user32.lib gdi32.lib winspool.lib
comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib netapi32.lib uuid.lib
wsock32.lib mpr.lib winmm.lib version.lib odbc32.lib odbccp32.lib msvcrt.lib
libc=msvcrt.lib, so=dll, useshrplib=yes, libperl=perl58.lib
gnulibc_version='undef'
Dynamic Linking:
dlsrc=dl_win32.xs, dlext=dll, d_dlsymun=undef, ccdlflags=' '
cccdlflags=' ', lddlflags='-dll -nologo -nodefaultlib -release
-libpath:"C:\Perl\lib\CORE" -machine:x86'
Characteristics of this binary (from libperl):
Compile-time options: MULTIPLICITY USE_ITHREADS USE_LARGE_FILES
PERL_IMPLICIT_CONTEXT PERL_IMPLICIT_SYS
Locally applied patches:
ActivePerl Build 802
Built under MSWin32
Compiled at Nov 9 2002 12:53:39
%ENV:
PERL5LIB="/unzipped/modperl-2.0/blib/lib"
@INC:
/unzipped/modperl-2.0/blib/lib
C:/Perl/lib
C:/Perl/site/lib
.
--
best regards,
randy
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]