Our primary development platforms are Linux and FreeBSD.

We expect the NTPsec code to run with at most minor port changes on Unix-like operating systems conforming to POSIX.1-2001 and ISO/IEC 9899:1999 (aka C99) and supporting ntp_gettime(2)/ntp_adjtime(2). Python2.x, x >=6, is also required. We will fully support these platforms.

We have an actively maintained port to Mac OS X. Basic testing has been performed and we are looking for people with OS X skill and interest to help support this platform and perform detailed testing.

We regularly test not just on x86 but on the ARM processors in the Raspberry Pi 2 and 3. This gives us both a test for hidden platform-centric assumptions and useful pressure to stay friendly to small systems.

The suppport for building under legacy Windows toolchains has been removed to reduce complexity. Our intention to re-port to Windows using modern, more POSIX-conformant tools, but that may not land in early releases. Help with this would be welcome.

Hardware with 32 or 64 bits and any endianness is supported. However, we’re optimizing for performance on modern 64-bit hardware and will sacrifice performance on older systems to tune for newer ones.

NTP Classic kept legacy support for a lot of very ancient Unix big iron, and for other systems, such as VMS. But increasing security requires reducing complexity and attack surface. We have almost completely removed legacy Unix support, and our direction is towards dropping the remainder (along with unused or rarely-used features) in order to achieve secure simplicity.

If you are a stranded legacy user with security and reliability requirements strong enough that only NTPsec will do, our team is open to working with active port maintainers who will take responsibility for specific target environments not fully conformant to the POSIX.1-2001/C99/Python-2.6 combination, or for exotic hardware.

clocktower64.png