Date: Fri, 28 Jul 2023 19:48:26 +0100 From: Jessica Clarke <jrtc27@freebsd.org> To: Renato Botelho <garga@FreeBSD.org> Cc: "src-committers@freebsd.org" <src-committers@FreeBSD.org>, "dev-commits-src-all@freebsd.org" <dev-commits-src-all@FreeBSD.org>, "dev-commits-src-main@freebsd.org" <dev-commits-src-main@FreeBSD.org> Subject: Re: git: 65f28f63a73d - main - tools/build: Create toolchain symlinks for non-absolute compiler/linker Message-ID: <58E4AA7F-1F35-49AE-BF77-418589DABC6B@freebsd.org> In-Reply-To: <622fce0c-403b-35fa-9134-a432390a8b44@FreeBSD.org> References: <202307270412.36R4C2vh097664@gitrepo.freebsd.org> <622fce0c-403b-35fa-9134-a432390a8b44@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On 28 Jul 2023, at 19:40, Renato Botelho <garga@FreeBSD.org> wrote: >=20 > 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=3D65f28f63a73d3371d9d724a2018be6d1= ada0d3e0 >> commit 65f28f63a73d3371d9d724a2018be6d1ada0d3e0 >> Author: Jessica Clarke <jrtc27@FreeBSD.org> >> AuthorDate: 2023-07-27 04:10:47 +0000 >> Commit: Jessica Clarke <jrtc27@FreeBSD.org> >> 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 >=20 > 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: >=20 > Failed to build new tree. >=20 > I've checked etcupdate log and saw this: >=20 > cd /usr/src/tools/build; make DIRPRFX=3Dtools/build/ = DESTDIR=3D/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=E2=80=99ll be 246364454fc1 ("etcupdate: Use new buildetc and = installetc targets when available=E2=80=9D) 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=E2=80=99t have issues during = installworld. But we=E2=80=99re not actually trying to create any hardlinks, just = copy. What you=E2=80=99re discovering is that you=E2=80=99re on one of the FreeBSD = versions where ZFS=E2=80=99s clone_range is broken (exposes EXDEV when it=E2=80=99s = 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. Jess
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?58E4AA7F-1F35-49AE-BF77-418589DABC6B>