On 2017-10-03 22:26, Joshua Root wrote: > Apparently Apple's linker doesn't recognise common symbols in static > libraries as being defined. Workaround would be to initialise the > variables somewhere or use -fno-common. Ideally don't use common linkage > at all, have one file that each global actually lives in and have all > other declarations be extern.
I remember this as a long-standing issue. I filed rdar://problem/9870713 for this in 2011, but never got a response from Apple. As a workaround you could apply 'ranlib -c libntp.a' before linking. I am a bit puzzled why this problem only occurs on 10.13 High Sierra, which I could reproduce. However, ntp just builds fine on 10.12 Sierra, with both systems running Xcode 9. Seems like a regression to me. Rainer