Stas Bekman wrote:

Steve Hay wrote:

Stas Bekman wrote:

Stas Bekman wrote:

Steve Hay wrote:

Stas Bekman wrote:

Here is what happens:

MM 6.03 used to create libapreq.a but not libapreq.so, libapreq.a was just a by product and never was intented to be installed. Request.so was statically linking libapreq.a into it.

Now with 6.12 it creates both libapreq.so and libapreq.so, so when Request.so is linked, it links libapreq.so dynamically, and of course it can't resolve it later when loading.

This patch fixes things for me in libapreq and works with MM 6.03 and 6.12. Steve, please confirm that it works for you and I'll commit it.






No, it doesn't fix it :-(

My problem sounds a little different to yours. You talk above about "... when Request.so is linked...", but my build process doesn't get that far.

Under MM 6.03 it used to build libapreq.lib, then Request.dll then Cookie.dll.
Now, under MM 6.12, it builds libapreq.lib, then falls over ("boot_libapreq" unresolved) when trying to build libapreq.dll.





I think the cause is the same. MM 6.12 builds the shared object of libapreq (dll in your case and .so in mine), and it didn't use to do that.




OK, try this patch:



No, still doesn't fix it :-(


Doesn't seem to make any difference, actually. It still tries to build libapreq.dll, and still fails in the same way. I've attached the c/Makefile that was generated by the patched c/Makefile.PL (which should have skipped the dynamic_* bits, but seems not to have done).


But it never received the SKIP argument, from your Makefile:

> # MakeMaker Parameters:
>
> # INC => q[ -I"C:/apache/include" -I"C:/apache/include/../os/win32" -I"C:/Temp/mod_perl-1.28/src/modules/perl" ]
> # NAME => q[libapreq]
> # OBJECT => q[apache_request.o apache_cookie.o apache_multipart_buffer.o]
> # TYPEMAPS => [q[C:/Temp/mod_perl-1.28/src/modules/perl/typemap]]
> # VERSION => q[1.2]


ah, of course c/Makefile.PL has a special case for WIN32. Try this:

Grrrr.


OK, that's better, but it now falls over saying "don't know how to make 'dynamic'"!

This patch finally fixes it for me:

--- Makefile.PL.orig 2001-04-03 20:24:12.000000000 +0100
+++ Makefile.PL 2003-07-31 15:17:03.000000000 +0100
@@ -18,7 +18,7 @@
WriteMakefile(
#grr, problems with things finding libapreq.so, sort out later.
'LINKTYPE' => 'static',
-# 'SKIP' => [qw(dynamic_lib dynamic_bs)],
+ 'SKIP' => [qw(dynamic dynamic_lib dynamic_bs)],
'NAME' => 'libapreq',
'INC' => $src->inc,
'TYPEMAPS' => $src->typemaps,
@@ -67,6 +67,8 @@
WriteMakefile('NAME' => 'libapreq',
'TYPEMAPS' => [ "$ENV{MP_INC}/typemap" ],
'VERSION' => $myVERSION,
+ 'LINKTYPE' => 'static',
+ 'SKIP' => [qw(dynamic dynamic_lib dynamic_bs)],
'OBJECT' => "@objs",
'INC' => qq{ -I"$ENV{AP_INC}" -I"$ENV{AP_INC}/../os/win32" -I"$ENV{MP_INC}" },
);


Steve

Reply via email to