Your buildworld system is pulling userland libraries/headers
Nathan Lay
enslay at gmail.com
Sat Oct 8 04:26:18 UTC 2016
Hello once again FreeBSD-stable,
While upgrading from FreeBSD 10-STABLE and later updating my FreeBSD
11-STABLE system, I noticed that your build system is pulling headers and
libraries from the userland rather than the /usr/src tree. This can't
possibly be intended. I kind of figured with recent news of delayed
released you might have realized this. After all, _FOR EXAMPLE_ (may not
reflect reality), who wants to accidentally include userland's older
version of OpenSSL headers and link with userland's older version of
OpenSSL?
I can cope with this by manually copying headers from /usr/src/sys/sys and
/usr/src/include to their appropriate locations and/or installing the newer
library manually and then restarting the build. But others may not be so
familiar with FreeBSD. And I did manage to get FreeBSD 11-STABLE up and
running just fine eventually.
But just a few days ago, I updated SVN to rebuild world and kernel
following the news of your delayed release and found libprocstat failing to
compile. And it failed to compile because it was including
/usr/include/ufs/ufs/extattr.h instead of
/usr/src/sys/sys/ufs/ufs/extattr.h. This is very disturbing to me. During
the FreeBSD 10 updating phase, I saw way more examples of this with even
unresolved reference errors during linking since the build system was
trying to link with userland's FreeBSD 10 libraries! I can think of two
recurring examples: devctl and procstat.
I also noticed your build system liked to now put modules in /boot/modules.
I was hacking if_ath and none of my changes were working. Well, it was
because kldload was loading the unchanged one in /boot/kernel rather than
the one now being installed in /boot/modules. That's a really nasty
surprise. I probably spent a couple hours figuring that out :)
Best regards,
Nathan Lay
P.S. FreeBSD 11 is running great! Great job!
More information about the freebsd-stable
mailing list