libntpd contents and the build order of doom

Ian Bruene ianbruene at
Wed Apr 24 00:26:17 UTC 2019

In trying to write tests for nts_client.c I have run into a problem I do 
not know how to solve, as it involved much of the structure of the 
codebase as well as the build system.

Some of the code in nts_client.c calls the dns_take* series of 
functions. These functions are defined in ntp_proto.c.

nts_client.c is listed in the build system as part of the libntpd_obj 
target. ntp_proto.c is in the ntpd target.

When ntpd is built this works because ntp_proto.c in being built, but 
when the tests are built it is not, and the build fails as a result.

I have tried to move ntp_proto.c to the libntpd_obj target, with the 
expected result of multiple failures where the code calls other stuff 
that is part of ntpd. After looking at the code I can't just move the 
relevant functions themselves, as they too call into files in ntpd. And 
I do not know the architecture at this level to a sufficient depth to do 
the kind of surgery that would require anyway.

/"In the end; what separates a Man, from a Slave? Money? Power? No. A 
Man Chooses, a Slave Obeys."/ -- Andrew Ryan

/"Utopia cannot precede the Utopian. It will exist the moment we are fit 
to occupy it."/ -- Sophia Lamb

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the devel mailing list