[rrdtool-maint] Bug#796971: sigwaitinfo is wrongly detected on Hurd

Jean-Michel Vourgère nirgal at debian.org
Wed Aug 26 11:02:01 UTC 2015

Package: rrdcached
Version: 1.5.4-5
Severity: normal
Tags: upstream
Forwarded: https://github.com/oetiker/rrdtool-1.x/issues/666

On hurd, sigwait info is detected. It should not.

configure.ac contains:
AC_CHECK_FUNCS(sigwaitinfo, [],  AC_CHECK_LIB(rt, sigwaitinfo, [LIBS="${LIBS} -lrt"; AC_DEFINE(HAVE_SIGWAITINFO)],[]))

The problem is that hurd is defining a stub, and that sigwaitinfo is defined
in librt. But it only returns "Not implemented".

I talked to a hurd specialist and here is his answer:
As I expected, sigwaitinfo is not implemented, and the symbol you get is
the glibc stub.  This is howver announced in

#define __stub_sigwaitinfo

and detected by autoconf, see config.log:

| #if defined __stub_sigwaitinfo || defined __stub___sigwaitinfo
| choke me
| #endif

but that's only when using AC_CHECK_FUNCS.  When using AC_CHECK_LIB, it
doesn't do this kind of check.  In a way, that's normal: AC_CHECK_LIB
is made to check for the presence of a lib, not for the presence of a
symbol (and actually sigwaitinfo is not even in librt...).  Ideally
the AC_CHECK_FUNCS macro should still be used, with a modified LIBS.

I'm quite bad at all this configure stuff. Does any one has a suggestion
about how to fix that?
It seems the inner AC_CHECK_LIB should be replaced by a second call to

For now, I disabled rrdcached on hurd for Debian, because the
`make check TESTS_STYLE="rrdcached"` is launching the daemon that creates the
socket and then dies. After that, the client connects and wait for an
answer... that never comes. This results in the build hanging for ever on
build daemons, which is Bad.

-- System Information:
Debian Release: 8.1
  APT prefers stable
  APT policy: (990, 'stable'), (500, 'testing')
Architecture: amd64 (x86_64)

Kernel: Linux 3.16.0-4-amd64 (SMP w/2 CPU cores)
Locale: LANG=en_GB.utf8, LC_CTYPE=en_GB.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages rrdcached depends on:
ii  libc6                2.19-18
ii  libcairo2            1.14.0-2.1
ii  libdbi1              0.9.0-4
ii  libglib2.0-0         2.42.1-1
ii  libpango-1.0-0       1.36.8-3
ii  libpangocairo-1.0-0  1.36.8-3
ii  libpng12-0           1.2.50-2+b2
ii  librrd4              1.5.4-5
ii  libxml2              2.9.1+dfsg1-5

rrdcached recommends no packages.

rrdcached suggests no packages.

-- no debconf information

More information about the pkg-rrdtool-maint mailing list