httpd-apreq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stas Bekman <s...@stason.org>
Subject Re: need your help to test mod_perl with perl-5.8.1-RC3
Date Thu, 31 Jul 2003 14:07:11 GMT
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:

--- c/Makefile.PL       3 Apr 2001 19:24:12 -0000       1.7
+++ c/Makefile.PL       31 Jul 2003 14:07:21 -0000
@@ -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,
@@ -66,7 +66,8 @@
    my @objs = qw(apache_request.o apache_cookie.o apache_multipart_buffer.o);
    WriteMakefile('NAME' => 'libapreq',
                 'TYPEMAPS' => [ "$ENV{MP_INC}/typemap" ],
-               'VERSION' => $myVERSION,
+               'SKIP' => [qw(dynamic dynamic_lib dynamic_bs)],
+                'VERSION' => $myVERSION,
                 'OBJECT' => "@objs",
                  'INC'  => qq{ -I"$ENV{AP_INC}" -I"$ENV{AP_INC}/../os/win32" 
-I"$ENV{MP_INC}" },
                );

if everything else fails try overriding the dynamic targets:

sub MY::dynamic {''}
sub MY::dynamic_lib {''}
sub MY::dynamic_bs {''}

not sure if that's the right thing.

__________________________________________________________________
Stas Bekman            JAm_pH ------> Just Another mod_perl Hacker
http://stason.org/     mod_perl Guide ---> http://perl.apache.org
mailto:stas@stason.org http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org   http://ticketmaster.com


Mime
View raw message