View Single Post

   
  #2 (permalink)  
Old 02-16-2008, 05:50 AM
Dennis Davis
 
Posts: n/a
Default Re: Redefinition Error with NTP-4.2.0 on OpenBSD 3.3

In the referenced article, roy@suespammers.org (Roy) writes:
>I'm trying to compile NTP-4.2.0 on OpenBSD 3.3. The make process
>stops almost immediately with redefinition errors. Here's what it
>looks like:
>
>source='systime.c' object='systime.o' libtool=no
>depfile='.deps/systime.Po' tmpdepfile='.deps/systime.TPo' depmode=gcc
>/bin/sh ../depcomp gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../include
>-I../include -I/usr/include -g -O2 -Wall -Wcast-qual
>-Wmissing-prototypes -Wpointer-arith -Wshadow -Wstrict-prototypes -c
>`test -f 'systime.c' || echo './'`systime.c
>In file included from ../include/ntp_fp.h:10,
> from systime.c:8:
>../include/ntp_rfc2553.h:177: redefinition of `struct
>sockaddr_storage'
>In file included from /usr/include/netinet/in.h:506,
> from ../include/ntp_fp.h:11,
> from systime.c:8:
>/usr/include/netinet6/in6.h:120: redefinition of `struct in6_addr'
>/usr/include/netinet6/in6.h:143: redefinition of `struct sockaddr_in6'
>*** Error code 1
>
>Stop in /home/roy/ntp-4.2.0/libntp.
>*** Error code 1
>
>Stop in /home/roy/ntp-4.2.0 (line 321 of Makefile).
>*** Error code 1
>
>Stop in /home/roy/ntp-4.2.0 (line 260 of Makefile).
>
>I was able to compile NTP-4.1.2 with only minor changes, but this one
>is beyond my current skills. Is anyone else trying to use this release?
>Any suggestions on how to fix it?


As pointed out by Danny Mayer in the comp.protocols.time.ntp
Newsgroup, it's the expansion of include/ntp_rfc2553.h that's
causing the problem. That attempts to detect whether IP6 is already
available and skips various definitions if it is.

It looks like the test:

#if defined(_SS_MAXSIZE) || defined(_SS_SIZE)
#define HAVE_IPV6
#else

isn't right for OpenBSD.

I'm not sure of the "correct" way to fix this. We don't use IP6 yet.
However the following bodge should get it compiled. Haven't tried
running the resulting binary, so your guarantee has just expired!


*** include/ntp_rfc2553.h.orig Thu Jul 17 11:27:16 2003
--- include/ntp_rfc2553.h Wed Oct 29 11:16:08 2003
***************
*** 68,74 ****
#ifndef _NTP_RFC2553_H_
#define _NTP_RFC2553_H_

! #if defined(_SS_MAXSIZE) || defined(_SS_SIZE)
#define HAVE_IPV6
#else

--- 68,74 ----
#ifndef _NTP_RFC2553_H_
#define _NTP_RFC2553_H_

! # if 1
#define HAVE_IPV6
#else

--
Dennis Davis, BUCS, University of Bath, Bath, BA2 7AY, UK
D.H.Davis@bath.ac.uk
Reply With Quote