Re: make installworld fails because /usr/include/c++/v1/__tuple is a file
On 13 Dec 2023, at 19:07, John Baldwin wrote: > > On 12/10/23 8:43 AM, Dimitry Andric wrote: >> On 10 Dec 2023, at 15:11, Herbert J. Skuhra wrote: >>> >>> On Sun, Dec 10, 2023 at 01:22:38PM +, 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. I have now added a workaround for this scenario, which is apparently more common than I thought: https://cgit.freebsd.org/src/commit/?id=ca217224f17229570f40227893353ca10ae1dda1 -Dimitry
Re: make installworld fails because /usr/include/c++/v1/__tuple is a file
On 12/10/23 8:43 AM, Dimitry Andric wrote: On 10 Dec 2023, at 15:11, Herbert J. Skuhra wrote: On Sun, Dec 10, 2023 at 01:22:38PM +, 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
Re: compile 13.2p8 on a recent current fails: compiler issue ?
Dimitry Andric writes: > henry vogt writes: > > ===> usr.sbin/zic (obj,all,install) > > Building /usr/obj/usr/src/13.2/amd64.amd64/tmp/obj-tools/usr.sbin/zic/zic.o > > --- zic.o --- > > /usr/src/13.2/contrib/tzcode/zic.c:464:8: error: an attribute list cannot > > appear here > > 464 | static ATTRIBUTE_NORETURN void > > |^~ > This appears to have been fixed upstream some time ago: > https://github.com/eggert/tz/commit/9cfe9507fcc22cd4a0c4da486ea1c7f0de6b075f It's also fixed in 14 and 15: https://cgit.freebsd.org/src/commit/?id=75411d157232ee3b4789b92c9205453e7d59a3d2 It was too late for 13.2, but I'll make sure it's merged before 13.3. DES -- Dag-Erling Smørgrav - d...@freebsd.org
Re: compile 13.2p8 on a recent current fails: compiler issue ?
On 13 Dec 2023, at 13:08, henry vogt wrote: > > attempt to compile 13.2p8 on a recent current fails: compiler issue ? > > ... > > ===> usr.sbin/zic (obj,all,install) > Building /usr/obj/usr/src/13.2/amd64.amd64/tmp/obj-tools/usr.sbin/zic/zic.o > --- zic.o --- > /usr/src/13.2/contrib/tzcode/zic.c:464:8: error: an attribute list cannot > appear here > 464 | static ATTRIBUTE_NORETURN void > |^~ > /usr/src/13.2/contrib/tzcode/private.h:471:30: note: expanded from macro > 'ATTRIBUTE_NORETURN' > 471 | # define ATTRIBUTE_NORETURN [[noreturn]] > | ^~~~ > /usr/src/13.2/contrib/tzcode/zic.c:471:8: error: an attribute list cannot > appear here > 471 | static ATTRIBUTE_NORETURN void > |^~ > /usr/src/13.2/contrib/tzcode/private.h:471:30: note: expanded from macro > 'ATTRIBUTE_NORETURN' > 471 | # define ATTRIBUTE_NORETURN [[noreturn]] > | ^~~~ > /usr/src/13.2/contrib/tzcode/zic.c:669:8: error: an attribute list cannot > appear here > 669 | static ATTRIBUTE_NORETURN void > |^~ > /usr/src/13.2/contrib/tzcode/private.h:471:30: note: expanded from macro > 'ATTRIBUTE_NORETURN' > 471 | # define ATTRIBUTE_NORETURN [[noreturn]] > | ^~~~ > /usr/src/13.2/contrib/tzcode/zic.c:3778:8: error: an attribute list cannot > appear here > 3778 | static ATTRIBUTE_NORETURN void > |^~ > /usr/src/13.2/contrib/tzcode/private.h:471:30: note: expanded from macro > 'ATTRIBUTE_NORETURN' > 471 | # define ATTRIBUTE_NORETURN [[noreturn]] > | ^~~~ > 4 errors generated. > *** [zic.o] Error code 1 > > make[3]: stopped in /usr/src/13.2/usr.sbin/zic > > # cc -v > FreeBSD clang version 17.0.6 (https://github.com/llvm/llvm-project.git > llvmorg-17.0.6-0-g6009708b4367) > Target: x86_64-unknown-freebsd15.0 > Thread model: posix > InstalledDir: /usr/bin This appears to have been fixed upstream some time ago: https://github.com/eggert/tz/commit/9cfe9507fcc22cd4a0c4da486ea1c7f0de6b075f but clang 17 has become more strict about invalid attribute placement, possibly to be more like gcc (which should already have given this as a warning or error). So I guess for 13.2-p8 you will have to apply that fix manually, if you want to build it on a 15-CURRENT box. Otherwise, I would advise a jail. -Dimitry signature.asc Description: Message signed with OpenPGP
compile 13.2p8 on a recent current fails: compiler issue ?
Hi attempt to compile 13.2p8 on a recent current fails: compiler issue ? ... ===> usr.sbin/zic (obj,all,install) Building /usr/obj/usr/src/13.2/amd64.amd64/tmp/obj-tools/usr.sbin/zic/zic.o --- zic.o --- /usr/src/13.2/contrib/tzcode/zic.c:464:8: error: an attribute list cannot appear here 464 | static ATTRIBUTE_NORETURN void | ^~ /usr/src/13.2/contrib/tzcode/private.h:471:30: note: expanded from macro 'ATTRIBUTE_NORETURN' 471 | # define ATTRIBUTE_NORETURN [[noreturn]] | ^~~~ /usr/src/13.2/contrib/tzcode/zic.c:471:8: error: an attribute list cannot appear here 471 | static ATTRIBUTE_NORETURN void | ^~ /usr/src/13.2/contrib/tzcode/private.h:471:30: note: expanded from macro 'ATTRIBUTE_NORETURN' 471 | # define ATTRIBUTE_NORETURN [[noreturn]] | ^~~~ /usr/src/13.2/contrib/tzcode/zic.c:669:8: error: an attribute list cannot appear here 669 | static ATTRIBUTE_NORETURN void | ^~ /usr/src/13.2/contrib/tzcode/private.h:471:30: note: expanded from macro 'ATTRIBUTE_NORETURN' 471 | # define ATTRIBUTE_NORETURN [[noreturn]] | ^~~~ /usr/src/13.2/contrib/tzcode/zic.c:3778:8: error: an attribute list cannot appear here 3778 | static ATTRIBUTE_NORETURN void | ^~ /usr/src/13.2/contrib/tzcode/private.h:471:30: note: expanded from macro 'ATTRIBUTE_NORETURN' 471 | # define ATTRIBUTE_NORETURN [[noreturn]] | ^~~~ 4 errors generated. *** [zic.o] Error code 1 make[3]: stopped in /usr/src/13.2/usr.sbin/zic # cc -v FreeBSD clang version 17.0.6 (https://github.com/llvm/llvm-project.git llvmorg-17.0.6-0-g6009708b4367) Target: x86_64-unknown-freebsd15.0 Thread model: posix InstalledDir: /usr/bin Kind Regards Henry