Front page | perl.perl5.porters |
Postings from November 2004
Re: [PATCH] Re: Smoke [5.9.2] 23566 FAIL(X) openbsd 3.6 (i386/1 cpu)
Thread Previous
|
Thread Next
From:
Steve Peters
Date:
November 30, 2004 07:29
Subject:
Re: [PATCH] Re: Smoke [5.9.2] 23566 FAIL(X) openbsd 3.6 (i386/1 cpu)
Message ID:
20041130152906.GA555@mccoy.peters.homeunix.org
On Tue, Nov 30, 2004 at 09:11:32AM -0600, Steve Peters wrote:
> On Tue, Nov 30, 2004 at 03:28:14PM +0100, H.Merijn Brand wrote:
> > On Tue 30 Nov 2004 15:22, Steve Peters <steve@fisharerojo.org> wrote:
> > > On Tue, Nov 30, 2004 at 02:54:00PM +0100, Rafael Garcia-Suarez wrote:
> > > > Steve Peters wrote:
> > > > > I looked into these failures a bit last night. The problem is that the
> > > > > function getservbyname_r() is defined within the OpenBSD library, but no
> > > > > prototype is defined in any .h file. The smoke test, by default, assumes
> > > > > getservbyname_r() is available, but never comes up with a proper prototype
> > > > > to use for the function. This leads to the test failures. Configuring by
> > > > > hand with -Duseithreads leads to a clean compile and no test failures.
> > > >
> > > > So maybe should it be disabled in a hints file ?
> > > > What do you mean, Configuring by hand ? what's different in the smoke process ?
> > >
> > > When running Configure -Duseithreads, when it reaches the tests for
> > > getservbyname_r(), Configure attempts to find the prototype and fails. It
> > > then asks whether to use the default, which is to define getservbyname_r(), or
> > > to override that. It appears that the smoke test just assumes
> > > getservbyname_r without confirming the prototype.
> >
> > Correct. smoke runs Configure -des
> > -s is silent, -d is default answer
> > so it newer stops for a question (which
> > would make smoke runs last indefinitely)
> >
> > > It does raise a bigger question of why getservbyname_r() is used if no
> > > prototype is found, since the prototype can vary by libc implementation.
> >
> > Hairy code from Jarkko. I still don't want to understand that bit
> >
>
> That's OK, Rafael gave me a great pointer on the hint file. There is a hint
> to not define getservebyname_r() through OpenBSD 3.5. Since I'm running
> OpenBSD 3.6, the hint gets ignored. Below is a patch to fix this through
> 3.7 at least.
>
> --- /home/steve/perl-current/hints/openbsd.sh Thu Apr 29 12:58:37 2004
> +++ ./hints/openbsd.sh Tue Nov 30 08:49:58 2004
> @@ -118,8 +118,8 @@
> ;;
> esac
> case "$osvers" in
> - [012].*|3.[0-5])
> - # Broken at least up to OpenBSD 3.5, we'll see about 3.6
> + [012].*|3.[0-7])
> + # Broken at least up to OpenBSD 3.6, we'll see about 3.8
> d_getservbyname_r=$undef ;;
> esac
> esac
>
Scratch the previous patch. OpenBSD appears to be headed towards adding
getservbyname_r() in 3.7. The following patch is correct then.
--- /home/steve/perl-current/hints/openbsd.sh Thu Apr 29 12:58:37 2004
+++ ./hints/openbsd.sh Tue Nov 30 08:49:58 2004
@@ -118,8 +118,8 @@
;;
esac
case "$osvers" in
- [012].*|3.[0-5])
- # Broken at least up to OpenBSD 3.5, we'll see about 3.6
+ [012].*|3.[0-6])
+ # Broken at least up to OpenBSD 3.6, we'll see about 3.7
d_getservbyname_r=$undef ;;
esac
esac
Thread Previous
|
Thread Next