Skip site navigation (1)Skip section navigation (2)
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>