[syslog-ng]Error compiling 1.6.4 on OpenBSD 3.5-stable

Steven J. Surdock syslog-ng@lists.balabit.hu
Tue, 18 May 2004 21:54:25 -0400


$ ./configure
...
$ make
...
gcc -DHAVE_CONFIG_H -I. -I/home/ssurdock/syslog-ng-1.6.4/src -I.     -g -O2
-Wall -I/usr/local/include/libol -D_GNU_SOURCE -c macros.c
macros.c: In function `format_tzofs':
macros.c:118: error: `tm' undeclared (first use in this function)
macros.c:118: error: (Each undeclared identifier is reported only once
macros.c:118: error: for each function it appears in.)
*** Error code 1

Stop in /home/ssurdock/syslog-ng-1.6.4/src.
*** Error code 1

Stop in /home/ssurdock/syslog-ng-1.6.4/src (line 253 of Makefile).
*** Error code 1

Stop in /home/ssurdock/syslog-ng-1.6.4/src (line 418 of Makefile).
*** Error code 1

Stop in /home/ssurdock/syslog-ng-1.6.4 (line 168 of Makefile). $

Which seems to stem from the GLOBAL_TIMEZONE not being detected and tm not
being defined in the "else" part of the #if:

format_tzofs(char *dest, size_t left)
{
        size_t length;

#if HAVE_GLOBAL_TIMEZONE
        length = snprintf(dest, left - 1, "%c%02ld%02ld",
                          timezone > 0 ? '-' : '+',
                          (timezone < 0 ? -timezone : timezone) / 3600,
                          (timezone % 3600) / 60);
#else
        length = strftime(dest, left -1, "%z", tm);
#endif
        return length;
}

And possibly the relevant config.log
...
configure:1876: checking for global timezone variable
configure:1895: gcc -c -g -O2  conftest.c 1>&5
configure: In function `foo':
configure:1889: error: invalid lvalue in assignment
configure: failed program was:
#line 1881 "configure"
...

Interestingly the following seems to work:
#else
        length = strftime(dest, left -1, "%z", localtime(time(NULL)));
#endif