Steve Hay wrote on 2013-07-12:
> The problem of how to specify the path of aprutil-1 in
> xs/APR/APR/Makefile.PL remains, but with the fix above the build now
> proceeds to the next problem: Apache2/Provider.dll fails to link, with
> an unresolved external symbol, ap_register_provider.
> 
> That symbol is exported from libhttpd.dll so I'm not sure right now
> why the link fails because we *do* already link against libhttpd.lib
> (and it has found it, along with libapr-1.lib and libaprutil-1.lib,
> this time).

I've temporarily dodged the two problems above by (a) commenting out the 
addition of -laprutil-1 to $libs in xs/APR/APR/Makefile.PL until I figure out 
how to get its path, and (b) disabling the XS-wrapping of ap_register_provider 
(by adding a leading '!' character) in xs/maps/apache2-functions.map (it was 
only being wrapped for httpd > 2.3.0, but I can't figure out what causes it not 
to link at the moment).

So that got things going a little further. I've fixed some more code before 
declaration errors in Apache2__RequestUtil.h (r1502464) but now I've got 
another linker error, this time in Apache2/ServerUtil.dll: it complains that 
ap_get_server_version is unresolved, and this time the error is genuine. The 
symbol was exported from libhttpd.dll in httpd-2.2, but ap_mmn.h notes that it 
was replaced with ap_get_server_banner and ap_get_server_description in 
httpd-2.3 so I think I need to add some more #_if_ ... #_end_ magic to 
apache2_functions.map to account for that.

The attached patch does this, and with that in place the build now runs through 
to completion (so perhaps the -laprutil-1 commented out as mentioned above 
isn't even needed on Windows anyway? -- unless some problem with omitting it 
comes to light in due course then I will just make it conditional on !WIN32...).

What puzzles me is how can the build be working on other OSes? This one is 
definitely not a Windows-specific problem. Before I go ahead and commit this 
patch, is there some part of the puzzle that I'm missing? How does it build for 
others without the patch?

Attachment: map.patch
Description: map.patch

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@perl.apache.org
For additional commands, e-mail: dev-h...@perl.apache.org

Reply via email to