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

[prev] [thread] [next] [Date index for 2005/01/23]

From: Nick ***
Subject: Re: mod_perl.c:61: `my_perl' undeclared under Cygwin
Date: 15:42 on 23 Jan 2005
>No luck guys :(
>Seems there is no way to build libhttpd.dll and no way to link against it. Even when I try to compile apache 2 with --enable-shared=most it can not build it's own modules. I suggest to disable or warn that currently the dynamic build under cygwin doesn't work. Maybe better days will come with apache 2.2.

>I decided to dig more into the static build.
>Here mod_perl.a links fine in the httpd, but the problem comes with the dllexport in APR/Base64 issue. (gcc 3.3.3 binary is not released yet).
>The problematic lines lay in xs/APR/Base64/APR__Base64.h:

>static XS(MPXS_apr_base64_encode)
>{

>and

>static XS(MPXS_apr_base64_decode)
>{

>When I change 'static' to 'const' (I don't know how good this is, but it works for now). With some warnings like
>'Base64.xs: warning: passing arg 3 of `Perl_newXS' from incompatible pointer type'
>the file gets compiled, but there is another problem again when linking:)
>The same undefined symbol errors like when linking mod_perl.so.
>But MP_STATIC_EXTS=1 comes to help. (Suggest that this option becomes a default when building static mp2 under cygwin or at least warn that it should be set).

>BTW, I had to edit some more files in xs/ dir, find every appearance
>of static XS(MPXS_* and change it to const XS(MPXS_*

>The first problem I see when creating mod_perl.a is this:
>ar: 'Apache_URI_URI.o': No such file
>Apache_URI_URI.o is not built. Is this a bug?
>The process continues and tries to create the httpd executable, but dies with this error:

>/usr/src/mp2/src/modules/perl/mod_perl.a(modperl_xsinit.o)(.text+0x486):modperl_
>xsinit.c: undefined reference to `_boot_Apache__URI'
>Info: resolving _PL_vtbl_env by linking to __imp__PL_vtbl_env (auto-import)
>Info: resolving _PL_vtbl_envelem by linking to __imp__PL_vtbl_envelem (auto-impo
>rt)
>Info: resolving _PL_ppaddr by linking to __imp__PL_ppaddr (auto-import)
>collect2: ld returned 1 exit status
>make[2]: *** [httpd] Error 1
>make[2]: Leaving directory `/usr/src/httpd'
>make[1]: *** [all-recursive] Error 1
>make[1]: Leaving directory `/usr/src/httpd'
>make: *** [ap_build] Error 2

>I think it's related to the missing Apache_URI_URI.o

>P.S. this is RC3


I've created Apache_Uri_Uri.c and compiled it to .o manualy and then the httpd executable builds fine!
Can anyone confirm that not creating Apache_Uri_Uri.c is a bug in the build process? Anyone? Stas?
This is the command I use:

perl Makefile.pl MP_STATIC_EXTS=1 MP_COMPAT_1X=0 MP_USE_STATIC=1 MP_AP_CONFIGURE="--with-mpm=prefork" MP_AP_PREFIX=/usr/src/httpd

Try it and see...

After I managed to create the httpd executable the process continues with copying some modules and then suddenly:

make[2]: Entering directory `/usr/src/mp2/WrapXS/APR'
make[3]: Entering directory `/usr/src/mp2/WrapXS/APR/Base64'
make[3]: *** No rule to make target `../../../blib/arch/auto/APR/Base64/Base64.dll', needed by `dynamic'.  Stop.
make[3]: Leaving directory `/usr/src/mp2/WrapXS/APR/Base64'
make[2]: *** [subdirs] Error 2
make[2]: Leaving directory `/usr/src/mp2/WrapXS/APR'
make[1]: *** [subdirs] Error 2
make[1]: Leaving directory `/usr/src/mp2/WrapXS'
make: *** [subdirs] Error 2

-----------------------------------------------------------------
http://promo.abv.bg/new_sms.html - Активирайте SMS известяване за получено писмо!

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
sdfgsd sergserg 17:32 on 14 Dec 2004

Re: mod_perl.c:61: `my_perl' undeclared under Cygwin
Nick *** 15:42 on 23 Jan 2005

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