>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 известяване за получено писмо!