official lang/gcc14 package builds are broken, at least for armv7: "error: attempt to use a poisoned identifier" and more
Date: Tue, 17 Sep 2024 14:24:33 UTC
Also: no member named 'fancy_abort' in namespace 'std' Such is associated with not using STANDARD_BOOTSTRAP for armv7, given GCC's historic lack of keeping builds of everything working for just direct use of clang++/libc++ or the like. The specific change that got back into this issue was: -LANGUAGES:= c,c++,objc,fortran +LANGUAGES:= c,c++,objc,fortran,jit It is the jit part of the build that fails to build as stands. See: https://pkg-status.freebsd.org/ampere2/data/main-armv7-default/p13f486017d78_s3df987c99/logs/errors/gcc14-14.2.0_1.log Example: In file included from /wrkdirs/usr/ports/lang/gcc14/work/gcc-14.2.0/gcc/jit/dummy-frontend.cc:23: In file included from /wrkdirs/usr/ports/lang/gcc14/work/gcc-14.2.0/gcc/jit/jit-playback.h:24: In file included from /usr/include/c++/v1/string:594: In file included from /usr/include/c++/v1/__memory_resource/polymorphic_allocator.h:20: In file included from /usr/include/c++/v1/tuple:1455: In file included from /usr/include/c++/v1/exception:82: /usr/include/c++/v1/__exception/exception_ptr.h:111:3: error: no member named 'fancy_abort' in namespace 'std'; did you mean simply 'fancy_abort'? 111 | std::abort(); | ^~~~~ /wrkdirs/usr/ports/lang/gcc14/work/gcc-14.2.0/gcc/system.h:808:13: note: 'fancy_abort' declared here 808 | extern void fancy_abort (const char *, int, const char *) | ^ In file included from /wrkdirs/usr/ports/lang/gcc14/work/gcc-14.2.0/gcc/jit/dummy-frontend.cc:23: In file included from /wrkdirs/usr/ports/lang/gcc14/work/gcc-14.2.0/gcc/jit/jit-playback.h:26: In file included from /usr/include/c++/v1/vector:325: In file included from /usr/include/c++/v1/__format/formatter_bool.h:20: In file included from /usr/include/c++/v1/__format/formatter_integral.h:35: /usr/include/c++/v1/locale:288:32: error: attempt to use a poisoned identifier 288 | __status = (unsigned char*)malloc(__nkw); | ^ /usr/include/c++/v1/locale:1385:24: error: attempt to use a poisoned identifier 1385 | __ob = (char_type*)malloc(2 * static_cast<size_t>(__nc) * sizeof(char_type)); | ^ /usr/include/c++/v1/locale:2429:31: error: attempt to use a poisoned identifier 2429 | _Tp* __t = (_Tp*)std::realloc(__owns ? __b.get() : 0, __new_cap); | ^ /usr/include/c++/v1/locale:2632:24: error: attempt to use a poisoned identifier 2632 | __h.reset((char*)malloc(static_cast<size_t>(__wn - __wb.get() + 2))); | ^ /usr/include/c++/v1/locale:2910:28: error: attempt to use a poisoned identifier 2910 | __hd.reset((char_type*)malloc(static_cast<size_t>(__n) * sizeof(char_type))); | ^ /usr/include/c++/v1/locale:2936:28: error: attempt to use a poisoned identifier 2936 | __hw.reset((char_type*)malloc(__exn * sizeof(char_type))); | ^ /usr/include/c++/v1/locale:2974:27: error: attempt to use a poisoned identifier 2974 | __h.reset((char_type*)malloc(__exn * sizeof(char_type))); | ^ === Mark Millard marklmi at yahoo.com