From patchwork Mon Feb 13 20:56:47 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Simon South X-Patchwork-Id: 1262 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id DE5F816744; Mon, 13 Feb 2023 20:58:24 +0000 (GMT) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-3.9 required=5.0 tests=BAYES_00,MAILING_LIST_MULTI, RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 8830416705 for ; Mon, 13 Feb 2023 20:58:21 +0000 (GMT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pRftm-0000Gq-QY; Mon, 13 Feb 2023 15:58:07 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pRftj-0000Ed-DO for guix-patches@gnu.org; Mon, 13 Feb 2023 15:58:03 -0500 Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pRftj-0007LU-4c for guix-patches@gnu.org; Mon, 13 Feb 2023 15:58:03 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1pRfti-0007cd-K4 for guix-patches@gnu.org; Mon, 13 Feb 2023 15:58:02 -0500 X-Loop: help-debbugs@gnu.org Subject: [bug#61493] [PATCH 0/2] gnu: hwloc: Skip failing test on non-x86 systems. Resent-From: Simon South Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Mon, 13 Feb 2023 20:58:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 61493 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 61493@debbugs.gnu.org X-Debbugs-Original-To: guix-patches@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.167632182329219 (code B ref -1); Mon, 13 Feb 2023 20:58:02 +0000 Received: (at submit) by debbugs.gnu.org; 13 Feb 2023 20:57:03 +0000 Received: from localhost ([127.0.0.1]:51797 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pRfsk-0007bD-Ld for submit@debbugs.gnu.org; Mon, 13 Feb 2023 15:57:03 -0500 Received: from lists.gnu.org ([209.51.188.17]:34066) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pRfsi-0007am-LG for submit@debbugs.gnu.org; Mon, 13 Feb 2023 15:57:01 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pRfsi-0007Sw-CZ for guix-patches@gnu.org; Mon, 13 Feb 2023 15:57:00 -0500 Received: from mailout.easymail.ca ([64.68.200.34]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pRfsg-00074I-DX for guix-patches@gnu.org; Mon, 13 Feb 2023 15:57:00 -0500 Received: from localhost (localhost [127.0.0.1]) by mailout.easymail.ca (Postfix) with ESMTP id 1219D686C5 for ; Mon, 13 Feb 2023 20:56:55 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at emo07-pco.easydns.vpn Received: from mailout.easymail.ca ([127.0.0.1]) by localhost (emo07-pco.easydns.vpn [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id koNyPqlSeXXB for ; Mon, 13 Feb 2023 20:56:54 +0000 (UTC) Received: from jupiter.smallsystems.net (23-233-96-72.cpe.pppoe.ca [23.233.96.72]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mailout.easymail.ca (Postfix) with ESMTPSA id E6C4668487 for ; Mon, 13 Feb 2023 20:56:53 +0000 (UTC) From: Simon South Date: Mon, 13 Feb 2023 15:56:47 -0500 Message-Id: X-Mailer: git-send-email 2.39.1 MIME-Version: 1.0 Received-SPF: pass client-ip=64.68.200.34; envelope-from=simon@simonsouth.net; helo=mailout.easymail.ca X-Spam_score_int: -41 X-Spam_score: -4.2 X-Spam_bar: ---- X-Spam_report: (-4.2 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches Here's a patch that circumvents a test failure in hwloc 2.9.0 on non-x86 systems (and specifically on AArch64), allowing the package to build successfully on these machines. An additional, bonus patch removes a pair of obsolete comments from the hwloc package definitions. I've tested these changes on x86-64 and AArch64 and generally, things seem fine. - On x86-64, of hwloc's 136 dependents the only seven[0] that fail to build appear to be existing failures, according to ci.guix.gnu.org. - On AArch64, the package builds fine; many of its dependents fail (in fact I am still waiting for builds to complete) but again, none of the failures I've investigated appear to be new. ---------- Here's some background information regarding the fix in case it's useful: One of hwloc's primary functions is to provide information about the host computer's processor topology, in terms of NUMA nodes, CPU clusters and so on. At start-up it it tries to collect this information by querying a sequence of "topology backends" that each implement a different strategy for detecting the host system's configuration. The first source of information is the operating system, so on most Guix machines the "Linux" backend runs first. This tries to pull information from the /sys filesystem tree but since that's inaccessible from within build containers, this always fails during hwloc's tests. For x86 machines specifically, hwloc provides an architecture-specific, fallback backend that can obtain the same information by querying the hardware directly. This normally succeeds within the build environment, and so hwloc passes its tests without issue on x86 and x86-64 machines. But those are the only platforms for which an architecture-specific topology backend is provided: On other systems, once the Linux backend fails, hwloc has nothing else to try and so any tests that rely on the host system's topology having been detected will fail. My patch fixes the build on these machines by skipping the one (other) test that relies on this information being available, only on non-x86 systems where the unavailability of /sys means certain failure. For reference, the backends mentioned above are implemented in hwloc's hwloc/topology-linux.c and hwloc/topology-x86.c. --- Simon South simon@simonsouth.net [0] combinatorial-blas, cube, elemental, elpa-openmpi, python-dolfin-adjoint, scorep-openmpi and superlu-dist. Simon South (2): gnu: hwloc: Remove obsolete comments. gnu: hwloc: Skip failing test on non-x86 systems. gnu/packages/mpi.scm | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) base-commit: 5b1eab43f011983d9ee560d6935409b6b39706ff