On 28/07/23 15:48, Jessica Clarke wrote:
On 28 Jul 2023, at 19:40, Renato Botelho <[email protected]> wrote:
On 27/07/23 01:12, Jessica Clarke wrote:
The branch main has been updated by jrtc27:
URL:
https://cgit.FreeBSD.org/src/commit/?id=65f28f63a73d3371d9d724a2018be6d1ada0d3e0
commit 65f28f63a73d3371d9d724a2018be6d1ada0d3e0
Author: Jessica Clarke <[email protected]>
AuthorDate: 2023-07-27 04:10:47 +0000
Commit: Jessica Clarke <[email protected]>
CommitDate: 2023-07-27 04:10:47 +0000
tools/build: Create toolchain symlinks for non-absolute compiler/linker
If any of the toolchain variables are not absolute then we need to
create a symlink in WORLDTMP/legacy/bin in order to make them available
during a BUILD_WITH_STRICT_TMPPATH build.
Reviewed by: brooks, jhb
Differential Revision: https://reviews.freebsd.org/D41188
I'm having problems with etcupdate and I suspect this can be the commit that
caused the trouble. After installworld/installkernel on a chroot Boot
Environment directory, etcupdate fails with following error message:
Failed to build new tree.
I've checked etcupdate log and saw this:
cd /usr/src/tools/build; make DIRPRFX=tools/build/
DESTDIR=/var/db/etcupdate/etcupdate-8C3uJ1L/usr/obj/usr/src/amd64.amd64/tmp/legacy
host-symlinks
Linking host tools into
/var/db/etcupdate/etcupdate-8C3uJ1L/usr/obj/usr/src/amd64.amd64/tmp/legacy/bin
cp: /usr/bin/basename: Cross-device link
That’ll be 246364454fc1 ("etcupdate: Use new buildetc and installetc
targets when available”) which exposed; this commit is just for
cc/c++/cpp/ld, and creates actual symlinks. On FreeBSD we copy rather
than symlink tools so that we don’t have issues during installworld.
But we’re not actually trying to create any hardlinks, just copy. What
you’re discovering is that you’re on one of the FreeBSD versions where
ZFS’s clone_range is broken (exposes EXDEV when it’s supposed to be
handled by the kernel with a fallback implementation) and cp is using
clone_range. Update your kernel first and all should be good.
You are right. After reboot with new kernel etcupdate works again.
Thank you!
--
Renato Botelho