I've traced it as far as it's compiling some code that I think should be ifdef-ed out.
./waf configure build says: ... [37/94] Compiling ntpd/ntp_monitor.c [38/94] Compiling ntpd/nts_server.c [39/94] Compiling ntpd/nts_client.c [40/94] Compiling ntpd/ntp_leapsec.c ... [78/94] Linking build/main/ntpd/ntpd ntpd/nts_server.c.1.o: In function `nts_server_init': nts_server.c:(.text+0x229): undefined reference to `SSL_CTX_set_alpn_select_cb' ntpd/nts_client.c.1.o: In function `set_hostname': nts_client.c:(.text+0x3a7): undefined reference to `SSL_get0_param' nts_client.c:(.text+0x3cd): undefined reference to `X509_VERIFY_PARAM_set1_host' ntpd/nts_client.c.1.o: In function `make_ssl_client_ctx': nts_client.c:(.text+0x9c6): undefined reference to `SSL_CTX_set_alpn_protos' Note that it doesn't complain when it compiles nts_server or nts_client. With different configure options, I get: [88/98] Linking bob2/main/ntpd/ntpd ntpd/nts_server.c.1.o: In function `nts_server_init': /home/murray/ntpsec/raw/bob2/main/../../ntpd/nts_server.c:106: undefined reference to `SSL_CTX_set_alpn_select_cb' ntpd/nts_client.c.1.o: In function `set_hostname': /home/murray/ntpsec/raw/bob2/main/../../ntpd/nts_client.c:331: undefined reference to `SSL_get0_param' /home/murray/ntpsec/raw/bob2/main/../../ntpd/nts_client.c:332: undefined reference to `X509_VERIFY_PARAM_set1_host' ntpd/nts_client.c.1.o: In function `make_ssl_client_ctx': /home/murray/ntpsec/raw/bob2/main/../../ntpd/nts_client.c:218: undefined reference to `SSL_CTX_set_alpn_protos' Here is that chunk from nts_server: #if (OPENSSL_VERSION_NUMBER > 0x1000200fL) SSL_CTX_set_alpn_select_cb(server_ctx, alpn_select_cb, NULL); #endif -bash-5.0$ grep OPENSSL_VERSION_NUMBER /usr/include/openssl/ -r /usr/include/openssl/crypto.h:# define SSLEAY_VERSION_NUMBER OPENSSL_VERSION_NUMBER /usr/include/openssl/opensslv.h:# define OPENSSL_VERSION_NUMBER 0x1000115fL -bash-5.0$ -bash-5.0$ grep SSL_CTX_set_alpn_select_cb /usr/include/openssl/ -r -bash-5.0$ I'm pretty sure that 0x1000115fL is not bigger than 0x1000200fL I can't see why it's compiling that line of code at all and I don't understand why it didn't give any undefined warnings at compile time. It worked a month ago. The system is a year old. I probably updated something on that system recently, but I don't remember what. gcc and cpp say: gcc (nb2 20150115) 4.8.5 cpp (nb2 20150115) 4.8.5 -r-xr-xr-x 2 root wheel 654499 Aug 29 2018 /usr/bin/gcc -r-xr-xr-x 2 root wheel 654543 Aug 29 2018 /usr/bin/cpp Has anybody seen anything like this before? Assuming "no", I'll try bisecting tomorrow. -- These are my opinions. I hate spam. _______________________________________________ devel mailing list devel@ntpsec.org http://lists.ntpsec.org/mailman/listinfo/devel