perl-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Randy Kobes <ra...@theoryx5.uwinnipeg.ca>
Subject Re: [Win32] ActivePerl-5.8 beta released (fwd)
Date Sun, 10 Nov 2002 03:54:19 GMT
On Sat, 9 Nov 2002, Randy Kobes wrote:

> ---------- Forwarded message ----------
> Date: Sat, 09 Nov 2002 13:32:01 +0100
> From: Juergen Heckel <JHeckel@t-online.de>
> To: modperl@perl.apache.org
> 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: dev-unsubscribe@perl.apache.org
For additional commands, e-mail: dev-help@perl.apache.org


Mime
View raw message