Front page | perl.perl5.porters |
Postings from November 2004
[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:11
Subject:
[PATCH] Re: Smoke [5.9.2] 23566 FAIL(X) openbsd 3.6 (i386/1 cpu)
Message ID:
20041130151132.GA909@mccoy.peters.homeunix.org
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
Steve Peters
steve@fisharerojo.org
Thread Previous
|
Thread Next