From patchwork Thu Mar 20 13:39:45 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yoann Congal X-Patchwork-Id: 59613 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id D2F7BC28B30 for ; Thu, 20 Mar 2025 13:40:08 +0000 (UTC) Received: from mail-wm1-f51.google.com (mail-wm1-f51.google.com [209.85.128.51]) by mx.groups.io with SMTP id smtpd.web10.7663.1742477999486903923 for ; Thu, 20 Mar 2025 06:40:00 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@smile.fr header.s=google header.b=OSWmkYcN; spf=pass (domain: smile.fr, ip: 209.85.128.51, mailfrom: yoann.congal@smile.fr) Received: by mail-wm1-f51.google.com with SMTP id 5b1f17b1804b1-4394a0c65fcso7096065e9.1 for ; Thu, 20 Mar 2025 06:39:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=smile.fr; s=google; t=1742477998; x=1743082798; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=ZQVguQN5BhOUNFu6c7wqZqaa1Cgikpq/Vrxg2JJ6fT4=; b=OSWmkYcNRN+3+WZNzJd5C9jU6nfWmmilrlnV52dyjwjMnHyN76RFwntK+KKh0WCWwp SXEoErDXiIGb9+YKXjRWQpXrgkfg9Z7CWW2yqJHBlJ+brSdBJg6Dh2btkO5ddLH7A/kf QZ51CgTIN7Hwl8W3/stqUwzRvDSYr0oKMejRI= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742477998; x=1743082798; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=ZQVguQN5BhOUNFu6c7wqZqaa1Cgikpq/Vrxg2JJ6fT4=; b=npyofmtNz0yEed3xO/Mfnk0Qyb90M2tTGPW1CSwaaTqPiNka0wjo9cvGM1dD7I6SIs MpZ/alxqOxFGS/UPKgS3V8X0RZ29H6U5is1EZRovYs+XZi4k7XrBj0gPsFZr2Y1+DUEI TGvssOR13OfqDe6zGbjzLepPrX2/UjDLvNILbdYSTwNvU8RKTgaolkJIo/RhVx6vGCP/ qXqTANKIRfNdQSRVSNfkzdT8Pd8qFtvNkEf3jwQjVCgG1qzZHTIh3h3AqP1pJxbIfuw0 NdwE3cTAOnsQbUBQgokZgxQIoWe+wQ4Qt035o5zPzFDYouDpdER5m8FSEgff9nNCbK4S V+9g== X-Gm-Message-State: AOJu0Yz3HOLyrAglazHAjd6huKlBVc77veXkkAEbG37OiZHqRm51/2Oh FfAQpMho+nT1/Tbf/6EkXnPJm7Xj4an5RmIWdGkU83tXbJFIXK8Cca4GlhLd+EkDMrhxJ9Jeqs+ o X-Gm-Gg: ASbGncvxwIxzBIymm8NB3QWWPvTQpQjBq3TjcFnb01ardOy+E0rXfRSQtSsxFpNIg68 qfjIGpulvOEqbSuOJ6Ei9wgWu5Zhp5mAoP2SNejcWeNNep4/5YXslpNtjqOusduK3AJw13HHs2+ I7clTANl1LUWeaoq8Dcxffn4Q0tSnS/dP8/KKLQ8Jbz0aV/uRHInC0N6UyEi6bBGx9MgYUg+BLS +86TOpg8yRtHs6sbdukkb7m8OCPtlxsDhGUlN1XdNSlLJatJcW6a84WruiwpY+TFiIl8Cu1rZfa C9KnNjxWsxVHTNzca9e5SJAYJF9FlKU2R/vvM5TaslYXn624sJk6AzjDw5uzkgtxQheDxiRS5nP /phba+afNRwwwhpy3MPY6ReWw+PEPUqfka4j1W/TvdCWAygJNRP2VUDpKhg== X-Google-Smtp-Source: AGHT+IE/WXVOWLUtgQaWrMKNR/Z9Ce9pj/xkXls+rgK8TFK9cQ5sKCRRBZm1W5s8LzhkLDqUVrQUGw== X-Received: by 2002:a05:600c:1991:b0:43d:1f1:8cd with SMTP id 5b1f17b1804b1-43d438691ecmr42040655e9.24.1742477997564; Thu, 20 Mar 2025 06:39:57 -0700 (PDT) Received: from P-ASN-ECS-830T8C3.idf.intranet (static-css-ccs-204145.business.bouyguestelecom.com. [176.157.204.145]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-395c7df320csm23651274f8f.7.2025.03.20.06.39.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 20 Mar 2025 06:39:57 -0700 (PDT) From: Yoann Congal To: openembedded-core@lists.openembedded.org Cc: Yoann Congal Subject: [PATCH 1/2] sanity: Refactor "C++ toolchain support this flag" check Date: Thu, 20 Mar 2025 14:39:45 +0100 Message-Id: <20250320133946.2631311-1-yoann.congal@smile.fr> X-Mailer: git-send-email 2.39.5 MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Thu, 20 Mar 2025 13:40:08 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/213386 From: Yoann Congal This can be use to check for other flags. Signed-off-by: Yoann Congal --- meta/classes-global/sanity.bbclass | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/meta/classes-global/sanity.bbclass b/meta/classes-global/sanity.bbclass index 1bae998f74..dc317e846d 100644 --- a/meta/classes-global/sanity.bbclass +++ b/meta/classes-global/sanity.bbclass @@ -607,9 +607,9 @@ def drop_v14_cross_builds(d): bb.utils.remove(stamp + "*") bb.utils.remove(workdir, recurse = True) -def check_cpp_toolchain(d): +def check_cpp_toolchain_flag(d, flag, error_message=None): """ - it checks if the c++ compiling and linking to libstdc++ works properly in the native system + Checks if the C++ toolchain support the given flag """ import shlex import subprocess @@ -622,12 +622,12 @@ def check_cpp_toolchain(d): } """ - cmd = shlex.split(d.getVar("BUILD_CXX")) + ["-x", "c++","-", "-o", "/dev/null", "-lstdc++"] + cmd = shlex.split(d.getVar("BUILD_CXX")) + ["-x", "c++","-", "-o", "/dev/null", flag] try: subprocess.run(cmd, input=cpp_code, capture_output=True, text=True, check=True) return None except subprocess.CalledProcessError as e: - return f"An unexpected issue occurred during the C++ toolchain check: {str(e)}" + return error_message or f"An unexpected issue occurred during the C++ toolchain check: {str(e)}" def sanity_handle_abichanges(status, d): # @@ -802,7 +802,7 @@ def check_sanity_version_change(status, d): status.addresult(check_case_sensitive(tmpdir, "TMPDIR")) # Check if linking with lstdc++ is failing - status.addresult(check_cpp_toolchain(d)) + status.addresult(check_cpp_toolchain_flag(d, "-lstdc++")) def sanity_check_locale(d): """ From patchwork Thu Mar 20 13:39:46 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yoann Congal X-Patchwork-Id: 59612 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id D3F5DC36006 for ; Thu, 20 Mar 2025 13:40:08 +0000 (UTC) Received: from mail-wm1-f50.google.com (mail-wm1-f50.google.com [209.85.128.50]) by mx.groups.io with SMTP id smtpd.web10.7665.1742477999976042346 for ; Thu, 20 Mar 2025 06:40:00 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@smile.fr header.s=google header.b=mYyABw3L; spf=pass (domain: smile.fr, ip: 209.85.128.50, mailfrom: yoann.congal@smile.fr) Received: by mail-wm1-f50.google.com with SMTP id 5b1f17b1804b1-4394a0c65fcso7096165e9.1 for ; Thu, 20 Mar 2025 06:39:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=smile.fr; s=google; t=1742477998; x=1743082798; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=/p2OScyQrHeCW1OogWc3uNl0IAGgYfliUw0Gy8EV934=; b=mYyABw3LMZ/G88Hmnu+KHVZBdZh1euaZgtW6lD25phxS3WLPfXt8XqH4YkFaJSrG9a fcnJrDbm45zTcYL3W2e/qu4KxUXgi3yXo0iLzoIQ2ba1+mVxEpS4tKtRPcJakt1uJ2vf NOQl3PmVTI90IRpabxhGUPR1eV5kG9qBEusw8= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742477998; x=1743082798; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=/p2OScyQrHeCW1OogWc3uNl0IAGgYfliUw0Gy8EV934=; b=IKoaRe90WbFQ85LP1Nk7SoQVoO8M9I2PQJ4QaomjlW1ZCoe7kIznWbSFiMgwhBbZ6T oJJHYNodHtl1gcrR7t1qk95OJI2FJt18K3tWKszOY2+SEYzNI6VfMQ8YXsXdSgTtdJww IldA6V0zKShDu1Eqzc6KCcSN7+omRv0lIYGbtDAP3hO607CNo6ooy/YvxeDz/ZeayUAK mlE5+d7x1s8mZamhed1HjXm93EsIRM9EzdaOY839pXANCDoSQ0nWky+PccoRphQqj6I0 HBsZX5V3ivoPgTo7BnTmzpkLItkZKswcmlH7bzr7MgDcspmq/4zSW8kyyvpF7wPA32XY WRkg== X-Gm-Message-State: AOJu0YzrL0mxvIIsWui8hs3JKC6kab+4Yh/QF+8YgtEto6/v+JQZrUzn H0gk6KRZykBpn34wZlip9DLOx+8rvH7fXjm3YeLNcMzc3ySJ4nCeAJX6wPbvxqfSajS7YH5wDW6 c X-Gm-Gg: ASbGnctmoSMcAWGkx52etFTdpbu4Q4PdhMTWrWGn8A1jBX5tLsDez2aZWe0XjvYU46Q OPsChMSS/auQl7FhFhX1uWTEsjtr/Acazoa15e0l7Yr6NZtSql6fUn62mPiexAvodP5B4PzzLkR RPCBKPDMJHw5VSxcp1AkYFwys3Tyq/XaFBCiYVTEEqMSuel6zt1aFkbLaGTN9bNXeWU+exrfk4E BotqQJIeERpalYZlPaoZI5Fq2+m2ad4puk1ykvgyyCTEd6oHIDAVma5iQxZ+WBYRIsNv2Gb0oC3 DeaCkgWsD7sRdualdcGy1L4bKCz4FIwO124WD15Gp2U2Pf9M6Kc0JWSo6kBmvfJQDaz2rLWabY2 XzLh8fQHXl8snsKthNOB4MWOSVrMfHJAPqK9w4k4cnO+wS50DOA+IQwgFyw== X-Google-Smtp-Source: AGHT+IEoR5fjWfksYyuUIW8WcdQ1RzQv2SSWYSaL9zW6Pji4hqJHVjpHxWFxJpuF+qEdKbCVPKc7iQ== X-Received: by 2002:a05:600c:5250:b0:43c:fc0c:7f33 with SMTP id 5b1f17b1804b1-43d43781e4emr64384295e9.2.1742477998120; Thu, 20 Mar 2025 06:39:58 -0700 (PDT) Received: from P-ASN-ECS-830T8C3.idf.intranet (static-css-ccs-204145.business.bouyguestelecom.com. [176.157.204.145]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-395c7df320csm23651274f8f.7.2025.03.20.06.39.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 20 Mar 2025 06:39:57 -0700 (PDT) From: Yoann Congal To: openembedded-core@lists.openembedded.org Cc: Yoann Congal Subject: [PATCH 2/2] insane: Check if the C++ toolchain supports --std=gnu++20 Date: Thu, 20 Mar 2025 14:39:46 +0100 Message-Id: <20250320133946.2631311-2-yoann.congal@smile.fr> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250320133946.2631311-1-yoann.congal@smile.fr> References: <20250320133946.2631311-1-yoann.congal@smile.fr> MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Thu, 20 Mar 2025 13:40:08 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/213387 From: Yoann Congal This is needed to build nodejs from meta-oe. Check this early to avoid an error later in the build. Fixes [YOCTO #15804] Signed-off-by: Yoann Congal --- WARNING: as discussed in previous threads [0][1], this will disqualify builds on Ubuntu 20.04 (its g++ does not support the option) [0]: https://lists.openembedded.org/g/openembedded-devel/topic/111740469 [1]: https://lists.yoctoproject.org/g/yocto-patches/topic/yocto_autobuilder2_patch/111757761 v1->v2: * Changed error message * Refactor C++ toolchain flag check --- meta/classes-global/sanity.bbclass | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/meta/classes-global/sanity.bbclass b/meta/classes-global/sanity.bbclass index dc317e846d..ce52bcdf90 100644 --- a/meta/classes-global/sanity.bbclass +++ b/meta/classes-global/sanity.bbclass @@ -804,6 +804,11 @@ def check_sanity_version_change(status, d): # Check if linking with lstdc++ is failing status.addresult(check_cpp_toolchain_flag(d, "-lstdc++")) + # Check if the C++ toochain support the "--std=gnu++20" flag + status.addresult(check_cpp_toolchain_flag(d, "--std=gnu++20", + "An error occurred during checking the C++ toolchain for '--std=gnu++20' support. " + "Please use a g++ compiler that supports C++20 (e.g. g++ version 10 onwards).")) + def sanity_check_locale(d): """ Currently bitbake switches locale to en_US.UTF-8 so check that this locale actually exists.