perl-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Philippe M. Chiasson" <go...@cpan.org>
Subject Re: OBSD update
Date Tue, 06 May 2003 06:30:32 GMT
On Tue, 2003-05-06 at 11:56, Stas Bekman wrote:
> 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.

That's relatively easy, sure can.

> > 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.

Sure, but for the love of god, what sets it to ':'. Couldn't find it
after a quick grep session...


> > 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.

Well, I've narrowed it down for me to /usr/X11R6/lib.

LD_LIBRARY_PATH=/usr/local/lib works find
LD_LIBRARY_PATH=/usr/local/lib:/usr/X11R6/lib explodes...

Doesnt' make much sense, as adding a include dir to the path shouldn't
change a thing... /me ponders...

> RE: patch:
> 
> Please add Changes and Apache-Test/Changes patches... and please commit each 
> change separately.

Oups, forgot about that. Will do.

> >>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?

Well, DARWIN was already there, and I just slapped OpenBSD to it.

Just find out where the MODPERL_RANLIB => ':' comes from and I'll change
it.

> >>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?

Yeah, probably should.

> Also do we have the same problem with mp1?

Don't think so, as apache-1/mp1 wouldn't be using IPv6 by default,
wouldn't it ? (I'll verify that later on)

> __________________________________________________________________
> 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
-- 
Philippe M. Chiasson <gozer@cpan.org>

Mime
View raw message