Date: Wed, 13 Dec 2023 10:07:05 -0800 From: John Baldwin <jhb@FreeBSD.org> To: freebsd-current@freebsd.org Subject: Re: make installworld fails because /usr/include/c++/v1/__tuple is a file Message-ID: <d07b8dca-edd4-44dd-8e8b-dc23a4d610f4@FreeBSD.org> In-Reply-To: <0A30C164-E509-45D1-8BAB-0B44A4E191F5@FreeBSD.org> References: <DA8F2F2D-57D1-4CF4-8038-4EFBD2D88D9D@mit.edu> <ZXXG9u2URYrMks_3@mail.bsd4all.net> <0A30C164-E509-45D1-8BAB-0B44A4E191F5@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On 12/10/23 8:43 AM, Dimitry Andric wrote: > On 10 Dec 2023, at 15:11, Herbert J. Skuhra <herbert@gojira.at> wrote: >> >> On Sun, Dec 10, 2023 at 01:22:38PM +0000, John F Carr wrote: >>> On arm64 running CURRENT from two weeks ago I updated to >>> >>> c711af772782 Bump __FreeBSD_version for llvm 17.0.6 merge >>> >>> and built and installed from source. make installworld failed: >>> >>> install: target directory `/usr/include/c++/v1/__tuple/' does not exist >>> >>> That pathname is a file: >>> >>> -r--r--r-- 1 root wheel 20512 Feb 15 2023 /usr/include/c++/v1/__tuple >>> >>> Early in make output is >>> >>> mtree -deU -i -f /usr/src/etc/mtree/BSD.include.dist -p /usr/include >>> ./c++/v1/__algorithm/pstl_backends missing (created) >>> [...] >>> ./c++/v1/__tuple missing (not created: File exists) >>> >>> Should I remove the file and try again, or is there a more elegant fix? >>> >>> The word "tuple" does not appear in UPDATING. >> >> 'make delete-old' should have removed this file. >> >> bdd1243df58e6 (Dimitry Andric 2023-04-14 23:41:27 +0200 965) >> OLD_FILES+=usr/include/c++/v1/__tuple > > Ah yes, that's it. The file was removed during the upgrade from libc++ > 15.0 to 16.0, while its contents was split into a subdirectory named > __tuple_dir. In libc++ 17.0.0 they renamed this subdirectory back to > just __tuple. > > This means that apparently people are not running "make delete-old" > after installations. Please don't forget that. :) Well, but if you have an old system with LLVM 15 that you upgrade directly to LLVM 17 you will hit this even if you ran delete-old after your last upgrading that used LLVM 15. We might need something to cope with this during the install target for libc++ in particular where this has occurred multiple times historically. -- John Baldwin
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?d07b8dca-edd4-44dd-8e8b-dc23a4d610f4>