Undefined symbol in build of network/ntp
The OI source is from 2018. Consequently, there may be a new version of the source, or some of the bugs may have already been fixed. Though the changes have been developed on SPARC hardware, they might correct bugs in some x86 packages. In any case, they should not damage other x86 packages.
During a build of network/ntp, I received the following error:
CCLD sntp Undefined first referenced symbol in file arc4random_addrandom ./libevent/.libs/libevent_core.a(evutil_rand.o) ld: fatal: symbol referencing errors. No output written to sntp collect2: error: ld returned 1 exit status
The cause of the failure is obviously the unknown symbol. Fortunately, there is a configure option to omit the sntp component. The error is fixed by Makefile.diff . No manifest changes are required because sntp is not used in oi-userland.
Updated by Gary Mills about 2 years ago
I did some experimentation on this bug with an x86 machine and the current OI. With no changes, the build failed when it requested installing the package library/libevent2. When I removed this package from the Makefile, the build stopped with exactly the same error I had previously seen on a SPARC machine. When I suppressed the sntp build with the --without-sntp option, I got a successful build. That's the same fix I reported before.
I've now created a git PR for this bug. It's PR number 6210. Note that only the Makefile has been changed. The manifest is exactly the same, meaning that the pkg package is the same as well. This is because the sntp files do not appear in the manifest. There's no harm in omitting them. sntp is just an alternate version of the NTP client. The letter s stands for simple, not for secure.