[collectd] collectd-3.10.1-alt2: rebuild failed

Dmitry V. Levin ldv at altlinux.org
Fri Oct 20 14:31:07 CEST 2006


Hi,

On Fri, Oct 20, 2006 at 09:16:29AM +0200, Florian Forster wrote:
> On Tue, Oct 17, 2006 at 04:24:15PM +0400, Dmitry V. Levin wrote:
[...]
> > So if application defines own syslog() prototype, there is a risk to
> > conflict with prototype defined by glibc headers. That is, do not
> > define syslog() prototype, include <syslog.h> instead.
> 
> We don't define a syslog prototype either. What we do define is the
> following. I don't know _why_ that's done (it's not my code), but it
> worked like a charm so far..
> 
> -- 8< --
>  #if HAVE_SYSLOG
>  # define syslog(...) syslog(__VA_ARGS__)

Following change in glibc conflicts with defines you cited:

2005-07-29  Ulrich Drepper  <drepper at redhat.com>

        * misc/bits/syslog.h: New file.
        * misc/sys/syslog.h: Include <bits/syslog.h> for fortification.
        * misc/Makefile (headers): Add bits/syslog.h.
        * include/sys/syslog.h: Add __vsyslog_chk prototype and
        * hidden_proto.
        * sysdeps/generic/syslog.c: Change vsyslog function to
        * __vsyslog_chk.
        Call __vfprintf_chk if necessary.  Make vsyslog a wrapper.  Add
        __syslog_chk.
        * misc/Versions: Export __syslog_chk and __vsyslog_chk.

That is, glibc now _may_ define syslog() as macro warpped around
__syslog_chk() function:

/* Define some macros helping to catch buffer overflows.  */
#if __USE_FORTIFY_LEVEL > 0 && !defined __cplusplus
# include <bits/syslog.h>
#endif

I do not understand why collectd may need to introduce syslog() macro.


-- 
ldv
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://mailman.verplant.org/pipermail/collectd/attachments/20061020/7b4cfe28/attachment.pgp


More information about the collectd mailing list