[ntp:questions] ntpdate works, but ntpd doesn't (reach = 0)

Danny Mayer mayer at ntp.isc.org
Sat Feb 7 18:44:38 UTC 2009


Harlan Stenn wrote:

> Martin> BTW, the same basic problem is with the ISC libraries, which also
> Martin> seem to have been copied e.g. from ISC's bind. Nowadays there a
> Martin> different versions of the same source code modules both in libisc/
> Martin> and ports/winnt/libisc, e.g. interfaceiter.c, isc_strerror.c, and
> Martin> net.c.
> 
> This was a mistake IMO, and there should have been a single codebase.  I
> believe the reason for it is that in the stock ISC libisc/, there are
> subdirs for unix/ and win32/ and when Danny(?) did the initial import of
> libisc the main codebase was flattened a bit and it contains the Unix code,
> and the ports/winnt/ subtree contains the win32/ code.

No, this is intentional and by design. One of the goals was to get rid
of as many macros as possible and put O/S required differences in
separate models and the configuration code will pick the right one. I
would not like to try and integrate this into one module it would make a
total mess and it would also make importing newer versions of the ISC
code much more difficult. Trust me you don't want to go there.

> This should get better when ISC releases libisc as a tearoff/standalone
> library.
> 

It's standalone now. That was part of the original design.

> My intent is to import libisc as a single unit, and this will affect the
> build scripts for Windows.

Not really. We will only include what we need and we are doing that
anyway. I chose not to try and include all of the modules in both
Windows and Unix, as we are only using a few functions right now.

> 
> Martin> IMHO this is also quite error prone. E.g. There are 5 (!) instances
> Martin> of the isc_interfaceiter_create() function in the code base, 3 below
> Martin> libisc/, and 2 below ports/winnt/libisc/.
> 
> Yes, this is Bad and it's on the list of things to resolve.

No, there is nothing wrong here. Just because you have modules with the
same functions doesn't mean that you are using more than one of them.
It's the job of the configuration script to figure out which to use.

Danny



More information about the questions mailing list