Re: git: 65f28f63a73d - main - tools/build: Create toolchain symlinks for non-absolute compiler/linker
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 28 Jul 2023 19:00:46 UTC
On 28/07/23 15:48, Jessica Clarke wrote:
> On 28 Jul 2023, at 19:40, Renato Botelho <garga@FreeBSD.org> 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 <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
>>
>> 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