Subject: mail/spamd and error: redefinition of 'struct syslog_data'
To: None <pkgsrc-users@netbsd.org>
From: Jeremy C. Reed <reed@reedmedia.net>
List: pkgsrc-users
Date: 08/08/2007 09:05:20
I had same problem as here:
ftp://ftp.netbsd.org/pub/pkgsrc/misc/kristerw/pkgstat/i386-4.0/20070612.2204/mail/spamd/.broken.html

In file included from spamd.c:37:
/usr/include/syslog.h:172: error: redefinition of 'struct syslog_data'
In file included from spamd.c:37:
/usr/include/syslog.h:212: error: format string argument not a string type

spamd includes a compatibility header that defines it on NetBSD.

I bypassed that with -D_HAVE_SYSLOG_R_ but then it fails with:

spamd.c:(.text+0x1235): undefined reference to `syslog_r'
spamd.c:(.text+0x12d6): undefined reference to `syslog_r'
spamd.o:spamd.c:(.text+0x1786): more undefined references to `syslog_r' 
follow
spamd.o: In function `main':
spamd.c:(.text+0x1a2f): undefined reference to `openlog_r'

I also -D_NETBSD_SOURCE

This is on some NetBSD 3.99.24 (I need to upgrade).

But it is fine on NetBSD 3.1.

  Jeremy C. Reed