"g++ --std=g++20 ..." is needed to build nodejs. Instead of failing late into the build, add a sanity check at the start for this. Timeline: * https://lists.openembedded.org/g/openembedded-devel/topic/111740469 (thread about failing nodejs build) * https://lists.yoctoproject.org/g/yocto-patches/topic/yocto_autobuilder2_patch/111757761 (thread on the removal of Ubuntu 20.04 worker for meta-oe) * Discussed at the engineering call (20250318): * Ubuntu 20.04 in near EOL * We may remove its support "soon" (without buildtools) * To do this, it starts with this sanity check * Then, it will justify the use of buildtools or removable from supported distros. Impact on documentation: the "g++ supports --std=g++20" requirement needs to be documented.
Errata: the option to test for odejs is "std=gnu++20" (not std=g++20)
Patch v2 sent: openembedded-core@lists.openembedded.org | [PATCH v2 1/2] sanity: Refactor "C++ toolchain support this flag" check https://lists.openembedded.org/g/openembedded-core/topic/patch_v2_1_2_sanity/111808358 openembedded-core@lists.openembedded.org | [PATCH v2 2/2] insane: Check if the C++ toolchain supports --std=gnu++20 https://lists.openembedded.org/g/openembedded-core/topic/patch_v2_2_2_insane_check/111808359
Sanity check added here: sanity: Refactor "C++ toolchain support this flag" check : https://git.openembedded.org/openembedded-core/commit/?id=42d012e8414736d89618422fb6f9bce9e4a2a391 sanity: Check if the C++ toolchain supports --std=gnu++20 : https://git.openembedded.org/openembedded-core/commit/?id=19004950ad5691ef51f7fcf946558bd0de561403 TODO: Document the requirement on the c++ host compiler
Doc patch sent: [PATCH] poky.yaml.in: Raise minimum GCC version to 10.1 https://lists.yoctoproject.org/g/docs/topic/patch_poky_yaml_in_raise/111852706
Doc patch merged: https://git.yoctoproject.org/yocto-docs/commit/?id=0e538c102bfcb7184c76c2401e8cb878168c4434