perl-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stas Bekman <s...@stason.org>
Subject Re: OBSD update
Date Tue, 06 May 2003 03:56:37 GMT
Philippe M. Chiasson wrote:


Great work, Philippe. Later when we work our the details please apply the 
Apache::Test and mod_perl 2.0 patches separately as they now each have a 
separate Changes file and separate lives on CPAN.

> 1. On my machine, by default, the max file descriptors is set to 64, and
> it's not sufficient, 128 did it.

If this is crucial, we need to run a check and warn/croak if that's the case.

> 2. By default, httpd(well, apr) will build with IPv6 support and
> IPv4-mapped addresses disabled. So the generated httpd.conf et all, when
> they say Listen 8530, you end up with a listening socket on ::1, IPv6
> only. So, of course, all the tests explode with connection failed, etc.
> Small patch to the configuration generation fixes this, as I couldn't
> figure out a way to figure out if IPv4-mapping is enabled or not
> reliably.

OK

> 3. ranlib is not needed on this architecture, and explodes with the
> strange warning: Inappropriate file type or format, so I fixed the
> generated makefiles to skip it on OpenBSD

Yes, it shouldn't have been set. Look at the Linux implementation, it's set to 
':' in Makefile, rather than skipped.

> 4. Can't make symbols global at DynaLoader warning. As pointed out in
> the past, this is just a warning triggered by perl because we want
> RTLD_GLOBAL, but OpenBSD doesn't implement it. Patched the 2 Const.pm to
> work around it to avoid the warning as well

+1, but probably

> 5. LD_LIBRARY_PATH. This one is the only one I don't understand quite
> yet. By default, it's set to /usr/local/lib:/usr/X11R6/lib on my
> machine. And the perl that ships with my OpenBSD will simply segfault in
> a completely bogus way:
> 
> (gdb) bt
> #0  0x400078cf in end ()
> #1  0x40013060 in end ()
> #2  0x400074a8 in end ()
> #3  0x40007182 in end ()
> #4  0x400085bd in end ()
> 
> The secret to fixing it for me so far, has been to make sure
> /usr/X11R6/lib isn't in my LD_LIBRARY_PATH. At this point, all attempts
> to figure out WHY have failed miserably.

yes, this is big pain, probably need to support that internally, or complain 
aloud if there is a mismatch.

RE: patch:

Please add Changes and Apache-Test/Changes patches... and please commit each 
change separately.

>>Index: lib/Apache/Build.pm
>>===================================================================
>>RCS file: /home/cvs/modperl-2.0/lib/Apache/Build.pm,v
>>retrieving revision 1.121
>>diff -b -B -u -r1.121 Build.pm
>>--- lib/Apache/Build.pm	22 Apr 2003 08:32:59 -0000	1.121
>>+++ lib/Apache/Build.pm	6 May 2003 03:03:48 -0000
>>@@ -25,6 +25,7 @@
>> use constant AIX    => $^O eq 'aix';
>> use constant DARWIN => $^O eq 'darwin';
>> use constant HPUX   => $^O eq 'hpux';
>>+use constant OPENBSD => $^O eq 'openbsd';
>> use constant WIN32  => $^O eq 'MSWin32';
>> 
>> use constant MSVC => WIN32() && ($Config{cc} eq 'cl');
>>@@ -1050,7 +1051,7 @@
>> 
>>     my $ranlib = "\t" . '$(MODPERL_RANLIB) $@';
>> 
>>-    $link .= "\n" . $ranlib unless DARWIN;
>>+    $link .= "\n" . $ranlib unless (DARWIN or OPENBSD);
>> 
>>     $link;
>> }

or $(MODPERL_RANLIB) constant should be set to ':'. I don't understand why the 
special case for DARWIN/OPENBSD, but linux doesn't really use it, and the 
solution is different?

>>Index: t/response/TestApache/conftree.pm
>>===================================================================
>>RCS file: /home/cvs/modperl-2.0/t/response/TestApache/conftree.pm,v
>>retrieving revision 1.5
>>diff -b -B -u -r1.5 conftree.pm
>>--- t/response/TestApache/conftree.pm	29 Jan 2003 03:56:00 -0000	1.5
>>+++ t/response/TestApache/conftree.pm	6 May 2003 03:03:55 -0000
>>@@ -27,9 +27,9 @@
>> 
>>     ok $tree;
>> 
>>-    my $port = $tree->lookup('Listen');
>>+    my $listen = $tree->lookup('Listen');
>> 
>>-    ok t_cmp($vars->{port}, $port);
>>+    ok t_cmp('0.0.0.0:'.$vars->{port}, $listen);
>> 
>>     my $documentroot = $tree->lookup('DocumentRoot');

shouldn't this be coded as a variable in Apache/TestConfig? I mean:

$vars->{ip_address} or something like that?

Also do we have the same problem with mp1?

__________________________________________________________________
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


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


Mime
View raw message