Re: mod_perl.c:61: `my_perl' undeclared under Cygwin

[prev] [thread] [next] [Date index for 2004/12/13]

From: Stas Bekman
Subject: Re: mod_perl.c:61: `my_perl' undeclared under Cygwin
Date: 16:37 on 13 Dec 2004
sdfgsd sergserg wrote:
> This is what I get when I tried to compile RC1 under cygwin
> $ make
> cd "src/modules/perl" && make
> make[1]: Entering directory `/usr/src/mod_perl-2.0.0-RC1/src/modules/perl'
> gcc -I/usr/src/mod_perl-2.0.0-RC1/src/modules/perl -I/usr/src/mod_perl-2.0.0-RC1
> /xs -I/home/Administrator/httpd/include -I/home/Administrator/httpd/include  -I/
> home/Administrator/httpd/include -DPERL_USE_SAFE_PUTENV -fno-strict-aliasing -I/
> usr/lib/perl5/5.8.0/cygwin-multi-64int/CORE -DMOD_PERL -DMP_COMPAT_1X -DCYGWIN -
> O3  \
> -c mod_perl.c && mv mod_perl.o mod_perl.lo
> mod_perl.c: In function `modperl_shutdown':
> mod_perl.c:61: `my_perl' undeclared (first use in this function)
> mod_perl.c:61: (Each undeclared identifier is reported only once
> mod_perl.c:61: for each function it appears in.)
> mod_perl.c: In function `modperl_hook_post_config_last':
> mod_perl.c:676: `my_perl' undeclared (first use in this function)
> mod_perl.c: In function `modperl_child_exit':
> mod_perl.c:770: `my_perl' undeclared (first use in this function)
> mod_perl.c: In function `modperl_response_handler':
> mod_perl.c:990: `my_perl' undeclared (first use in this function)
> mod_perl.c: In function `modperl_response_handler_cgi':
> mod_perl.c:1028: `my_perl' undeclared (first use in this function)
> make[1]: *** [mod_perl.lo] Error 1
> make[1]: Leaving directory `/usr/src/mod_perl-2.0.0-RC1/src/modules/perl'
> make: *** [modperl_lib] Error 2
> 
> The perl version is the one that comes with this version of cygwin (Perl 5.8.0). Now I'll compile perl 5.8.5 and try again

It looks like cygwin perl 5.8.0 is broken. Please observe:

#ifndef USE_ITHREADS
^^^^^^^^^^^^^^^^^^^^
static apr_status_t modperl_shutdown(void *data)
{
     modperl_cleanup_data_t *cdata = (modperl_cleanup_data_t *)data;
     PerlInterpreter *perl = (PerlInterpreter *)cdata->data;
     void **handles;

     handles = modperl_xs_dl_handles_get(aTHX);
                                         ^^^^^

when USE_ITHREADS is not defined aTHX is defined as nothing (as if it 
wasn't there at all). though your compiler sees aTHX as my_perl (which is 
the case when USE_ITHREADS is defined, in which case it shouldn't have 
entered that code at all.

The rest seem to be related to the same problem.

        -- 
        __________________________________________________________________
Stas Bekman            JAm_pH ------> Just Another mod_perl Hacker
http://stason.org/     mod_perl Guide ---> http://perl.apache.org
mailto:stas@xxxxxx.xxx http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org   http://ticketmaster.com

-- 
Report problems: http://perl.apache.org/bugs/
Mail list info: http://perl.apache.org/maillist/modperl.html
List etiquette: http://perl.apache.org/maillist/email-etiquette.html

mod_perl.c:61: `my_perl' undeclared under Cygwin
sdfgsd sergserg 11:44 on 13 Dec 2004

Re: mod_perl.c:61: `my_perl' undeclared under Cygwin
sdfgsd sergserg 15:00 on 13 Dec 2004

Re: mod_perl.c:61: `my_perl' undeclared under Cygwin
Stas Bekman 16:37 on 13 Dec 2004

Re: mod_perl.c:61: `my_perl' undeclared under Cygwin
sdfgsd sergserg 17:32 on 14 Dec 2004

Re: mod_perl.c:61: `my_perl' undeclared under Cygwin
Philippe M. Chiasson 04:31 on 31 Jan 2005

Generated at 14:43 on 11 Apr 2005 by mariachi v0.52