httpd-apreq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Steve Hay <steve....@uk.radan.com>
Subject Re: need your help to test mod_perl with perl-5.8.1-RC3
Date Thu, 31 Jul 2003 14:23:36 GMT
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


Mime
View raw message