From debbugs-submit-bounces@debbugs.gnu.org Tue May 09 16:44:08 2023 Received: (at submit) by debbugs.gnu.org; 9 May 2023 20:44:08 +0000 Received: from localhost ([127.0.0.1]:44591 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pwUBs-0007BA-25 for submit@debbugs.gnu.org; Tue, 09 May 2023 16:44:08 -0400 Received: from lists.gnu.org ([209.51.188.17]:44296) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pwUBp-0007B2-UV for submit@debbugs.gnu.org; Tue, 09 May 2023 16:44:07 -0400 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 1pwUBp-0001I7-Aj for guix-patches@gnu.org; Tue, 09 May 2023 16:44:05 -0400 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 1pwUBn-0007PI-2r for guix-patches@gnu.org; Tue, 09 May 2023 16:44:05 -0400 Received: from localhost (localhost [127.0.0.1]) by mailout.easymail.ca (Postfix) with ESMTP id 24AAFEA3A3 for ; Tue, 9 May 2023 20:44:00 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at emo08-pco.easydns.vpn Received: from mailout.easymail.ca ([127.0.0.1]) by localhost (emo08-pco.easydns.vpn [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id A-8gbFV8ZCNr for ; Tue, 9 May 2023 20:43:59 +0000 (UTC) Received: from localhost.localdomain (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 AA7ABEA056 for ; Tue, 9 May 2023 20:43:59 +0000 (UTC) From: Simon South To: guix-patches@gnu.org Subject: [PATCH 0/1] gnu: vulkan-loader: Skip x86-specific tests on non-x86 platforms. Date: Tue, 9 May 2023 16:43:27 -0400 Message-Id: X-Mailer: git-send-email 2.39.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit 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, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.3 (-) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) This patch fixes the build of vulkan-loader on aarch64-linux by causing five tests that require an x86 or x86-64 host to be skipped. I've tested this change on x86-64 (to confirm the patch has no real effect) and AArch64 and everything seems fine. The tests that are skipped use pre-built, dummy libraries supplied in the source package to check the loader's ability to detect a request for a 32-bit library on a 64-bit system, and vice-versa. This is done by checking for a specific error message generated by a call to dlopen(). The dummy libraries provided are built only for x86 and x86-64, though, so on other platforms dlopen() produces a different error ("No such file" instead of "wrong ELF class") and the tests fail. The source package supplies a makefile that could be used to regenerate these dummy libraries, but as written the makefile assumes that - gcc recognizes "-m32" and "-m64" options to select a target subarchitecture, which is true on x86 and PowerPC but not on AArch64 or RISC-V, for instance; and that - The system's linker is able to output libraries for multiple architectures, requiring (among other things) that multiple versions of glibc be available, and even using "cross-gcc" and "cross-libc" I haven't found a straightforward way to achieve this within a single package build. So I expect modifying things to make these tests work on other platforms would be more trouble than it's worth. --- Simon South (1): gnu: vulkan-loader: Skip x86-specific tests on non-x86 platforms. gnu/local.mk | 1 + ...ulkan-loader-skip-incompatible-tests.patch | 62 +++++++++++++++++++ gnu/packages/vulkan.scm | 2 + 3 files changed, 65 insertions(+) create mode 100644 gnu/packages/patches/vulkan-loader-skip-incompatible-tests.patch base-commit: c1ffe2f21bd1b9ba6bd527bbabe130144a69af71 -- 2.39.2 From debbugs-submit-bounces@debbugs.gnu.org Tue May 09 16:46:07 2023 Received: (at 63400) by debbugs.gnu.org; 9 May 2023 20:46:07 +0000 Received: from localhost ([127.0.0.1]:44596 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pwUDm-0007FF-Oo for submit@debbugs.gnu.org; Tue, 09 May 2023 16:46:07 -0400 Received: from mailout.easymail.ca ([64.68.200.34]:55234) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pwUDk-0007ET-Fy for 63400@debbugs.gnu.org; Tue, 09 May 2023 16:46:05 -0400 Received: from localhost (localhost [127.0.0.1]) by mailout.easymail.ca (Postfix) with ESMTP id 357BA6A068 for <63400@debbugs.gnu.org>; Tue, 9 May 2023 20:45:59 +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 6J4OGP99uw6i for <63400@debbugs.gnu.org>; Tue, 9 May 2023 20:45:58 +0000 (UTC) Received: from localhost.localdomain (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 C370B69FF8 for <63400@debbugs.gnu.org>; Tue, 9 May 2023 20:45:58 +0000 (UTC) From: Simon South To: 63400@debbugs.gnu.org Subject: [PATCH 1/1] gnu: vulkan-loader: Skip x86-specific tests on non-x86 platforms. Date: Tue, 9 May 2023 16:45:27 -0400 Message-Id: <1f4f4283b03ab0020443a9e23c01dd840819e1f0.1683661648.git.simon@simonsouth.net> X-Mailer: git-send-email 2.39.2 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 63400 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) * gnu/packages/patches/vulkan-loader-skip-incompatible-tests.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/vulkan.scm (vulkan-loader)[source]: Apply it. --- gnu/local.mk | 1 + ...ulkan-loader-skip-incompatible-tests.patch | 62 +++++++++++++++++++ gnu/packages/vulkan.scm | 2 + 3 files changed, 65 insertions(+) create mode 100644 gnu/packages/patches/vulkan-loader-skip-incompatible-tests.patch diff --git a/gnu/local.mk b/gnu/local.mk index 77abf61d3c..b431e4f8ce 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -2031,6 +2031,7 @@ dist_patch_DATA = \ %D%/packages/patches/vtk-7-gcc-10-compat.patch \ %D%/packages/patches/vtk-7-hdf5-compat.patch \ %D%/packages/patches/vtk-7-python-compat.patch \ + %D%/packages/patches/vulkan-loader-skip-incompatible-tests.patch \ %D%/packages/patches/wacomtablet-add-missing-includes.patch \ %D%/packages/patches/wacomtablet-qt5.15.patch \ %D%/packages/patches/warsow-qfusion-fix-bool-return-type.patch \ diff --git a/gnu/packages/patches/vulkan-loader-skip-incompatible-tests.patch b/gnu/packages/patches/vulkan-loader-skip-incompatible-tests.patch new file mode 100644 index 0000000000..92e3d03bb6 --- /dev/null +++ b/gnu/packages/patches/vulkan-loader-skip-incompatible-tests.patch @@ -0,0 +1,62 @@ +Certain tests that use the pre-built libraries provided in +tests/framework/data/binaries presume they are running on a 32- or +64-bit x86 host, as these are the only architectures for which the +libraries are provided. + +Skip these tests on non-x86 platforms where the tests are certain to +fail. + +diff --git a/tests/loader_regression_tests.cpp b/tests/loader_regression_tests.cpp +index 7390596bd..1b0780c65 100644 +--- a/tests/loader_regression_tests.cpp ++++ b/tests/loader_regression_tests.cpp +@@ -1014,6 +1014,9 @@ TEST(CreateDevice, ConsecutiveCreateWithoutDestruction) { + } + + TEST(TryLoadWrongBinaries, WrongICD) { ++#if !defined(__x86_64__) && !defined(__i386__) ++ GTEST_SKIP() << "Skip this test as it is not compatible with this architecture."; ++#endif + FrameworkEnvironment env{}; + env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2)); + env.add_icd(TestICDDetails(CURRENT_PLATFORM_DUMMY_BINARY_WRONG_TYPE).set_is_fake(true)); +@@ -1041,6 +1044,9 @@ TEST(TryLoadWrongBinaries, WrongICD) { + } + + TEST(TryLoadWrongBinaries, WrongExplicit) { ++#if !defined(__x86_64__) && !defined(__i386__) ++ GTEST_SKIP() << "Skip this test as it is not compatible with this architecture."; ++#endif + FrameworkEnvironment env{}; + env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2)); + env.get_test_icd().physical_devices.emplace_back("physical_device_0"); +@@ -1077,6 +1083,9 @@ TEST(TryLoadWrongBinaries, WrongExplicit) { + } + + TEST(TryLoadWrongBinaries, WrongImplicit) { ++#if !defined(__x86_64__) && !defined(__i386__) ++ GTEST_SKIP() << "Skip this test as it is not compatible with this architecture."; ++#endif + FrameworkEnvironment env{}; + env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2)); + env.get_test_icd().physical_devices.emplace_back("physical_device_0"); +@@ -1114,6 +1123,9 @@ TEST(TryLoadWrongBinaries, WrongImplicit) { + } + + TEST(TryLoadWrongBinaries, WrongExplicitAndImplicit) { ++#if !defined(__x86_64__) && !defined(__i386__) ++ GTEST_SKIP() << "Skip this test as it is not compatible with this architecture."; ++#endif + FrameworkEnvironment env{}; + env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2)); + env.get_test_icd().physical_devices.emplace_back("physical_device_0"); +@@ -1159,6 +1171,9 @@ TEST(TryLoadWrongBinaries, WrongExplicitAndImplicit) { + } + + TEST(TryLoadWrongBinaries, WrongExplicitAndImplicitErrorOnly) { ++#if !defined(__x86_64__) && !defined(__i386__) ++ GTEST_SKIP() << "Skip this test as it is not compatible with this architecture."; ++#endif + FrameworkEnvironment env{}; + env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2)); + env.get_test_icd().physical_devices.emplace_back("physical_device_0"); diff --git a/gnu/packages/vulkan.scm b/gnu/packages/vulkan.scm index b0d968938b..e9f287564c 100644 --- a/gnu/packages/vulkan.scm +++ b/gnu/packages/vulkan.scm @@ -222,6 +222,8 @@ (define-public vulkan-loader (url "https://github.com/KhronosGroup/Vulkan-Loader") (commit "v1.3.232"))) (file-name (git-file-name name version)) + (patches + (search-patches "vulkan-loader-skip-incompatible-tests.patch")) (sha256 (base32 "0w69sh669sx9pwlvv2rv92ds2hm2rbzsa6qqcmd8kcad0qfq7dz2")))) -- 2.39.2 From debbugs-submit-bounces@debbugs.gnu.org Mon May 15 15:03:10 2023 Received: (at 63400) by debbugs.gnu.org; 15 May 2023 19:03:10 +0000 Received: from localhost ([127.0.0.1]:44421 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pydTR-0003Jh-NM for submit@debbugs.gnu.org; Mon, 15 May 2023 15:03:10 -0400 Received: from mail-wm1-f41.google.com ([209.85.128.41]:47119) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pydTN-0003JC-Fe for 63400@debbugs.gnu.org; Mon, 15 May 2023 15:03:08 -0400 Received: by mail-wm1-f41.google.com with SMTP id 5b1f17b1804b1-3f42c865534so72966235e9.2 for <63400@debbugs.gnu.org>; Mon, 15 May 2023 12:03:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1684177379; x=1686769379; h=in-reply-to:content-disposition:mime-version:references :mail-followup-to:message-id:subject:cc:to:from:date:sender:from:to :cc:subject:date:message-id:reply-to; bh=y6fjIguskKHskkxYcYYQLojV/yRNbqjlL97MSMI8SUA=; b=mEV+l/9EFvJvRgbYAi93wvhCXFIkur7Z0VHDc5tgEF7oJ+OLiSdY/fhOfT/IkLsM+A ZBN+b+x7Ed05dmUv1UYwMBdCp8Sx5OzNRCDSWfmE76wrGXBoLs+H7FrMSvCOpMD43r54 p5MUcTN5yeGWQIFwju7E41Qm+zlc6MFlQO6b+Wv0e4OSEnGjXRvAI8l6wKRkIlJBeJyJ gyE73NF9RT5MbKSTVo9eUMOmTBTcL4GSS53gfkuW+m7JvPDmTQPaSRyPvqqaF5hMFJoE sKuTKqw0lJS221UCIAGtEEX8T1Kl+GMdz/qUc/klAranLSPL32tXERqm5Qu50WnwXzho EvrQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1684177379; x=1686769379; h=in-reply-to:content-disposition:mime-version:references :mail-followup-to:message-id:subject:cc:to:from:date:sender :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=y6fjIguskKHskkxYcYYQLojV/yRNbqjlL97MSMI8SUA=; b=h7PCNqn1TB/o7SEcdAShSKVL1Ip15CSCft2f+MmgURCtxGatpisbD0+c0oGAMj/+yn WVz62f0s3tkCGe3T9DVwS8Z9piAaWu7TlCAKhCg0/OtEgNtjnRucnoIuSg10wAJ4XIvH uQivegA5dOcJVDSaKyK/t2MSMiqPO4xX7jboAgclSarz6N7JuOHejPvhUse0I3ftHpjB sF69fGwN4QOc7qn0e9Y1hsSkmMYYDCYNkDfionR2QqxiCWfChq8CeKHAzfQYoLEBsdoy cYHRm1pjq4D2dWKxwrueI86d8yggKYS5T7tcrlP0Ntz6FRxEQr7Ewqc15kjAIqJDyb21 SZzg== X-Gm-Message-State: AC+VfDw0YmLhRyBquEXSQp7qFQm1r6yAoExAdlKZbvT03rrZeeqLqsLq Bqu99wAurHrtQsHr9EPn29A= X-Google-Smtp-Source: ACHHUZ7iGt0lEgL3B7XQhtz+nVslSFFGAtqi2cY4DgczDASR0G3Ty8txGRBGdVTw+TqflV7uCI2Mbw== X-Received: by 2002:a05:600c:2052:b0:3f5:39:240b with SMTP id p18-20020a05600c205200b003f50039240bmr6464337wmg.24.1684177379326; Mon, 15 May 2023 12:02:59 -0700 (PDT) Received: from localhost ([2a02:ed3:910:2a00:b62e:99ff:fef0:7bc0]) by smtp.gmail.com with ESMTPSA id f20-20020a7bcd14000000b003f080b2f9f4sm267362wmj.27.2023.05.15.12.02.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 15 May 2023 12:02:58 -0700 (PDT) Date: Mon, 15 May 2023 22:02:56 +0300 From: Efraim Flashner To: Simon South Subject: Re: [bug#63400] [PATCH 0/1] gnu: vulkan-loader: Skip x86-specific tests on non-x86 platforms. Message-ID: Mail-Followup-To: Efraim Flashner , Simon South , 63400@debbugs.gnu.org References: MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="VKcIUjxEUth06IHn" Content-Disposition: inline In-Reply-To: X-PGP-Key-ID: 0x41AAE7DCCA3D8351 X-PGP-Key: https://flashner.co.il/~efraim/efraim_flashner.asc X-PGP-Fingerprint: A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 X-Spam-Score: 0.2 (/) X-Debbugs-Envelope-To: 63400 Cc: 63400@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.8 (/) --VKcIUjxEUth06IHn Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Tue, May 09, 2023 at 04:43:27PM -0400, Simon South wrote: > This patch fixes the build of vulkan-loader on aarch64-linux by > causing five tests that require an x86 or x86-64 host to be skipped. I have to admit that I didn't check the bug tracker before I pushed my change (which mirrored Chris's earlier patch) to just skip the tests entirely on a bunch of architectures. > I've tested this change on x86-64 (to confirm the patch has no real > effect) and AArch64 and everything seems fine. >=20 > The tests that are skipped use pre-built, dummy libraries supplied in > the source package to check the loader's ability to detect a request > for a 32-bit library on a 64-bit system, and vice-versa. This is done > by checking for a specific error message generated by a call to > dlopen(). The dummy libraries provided are built only for x86 and > x86-64, though, so on other platforms dlopen() produces a different > error ("No such file" instead of "wrong ELF class") and the tests > fail. Another option would be to patch the tests to look for these strings instead when we're building on those architectures. > The source package supplies a makefile that could be used to > regenerate these dummy libraries, but as written the makefile assumes > that >=20 > - gcc recognizes "-m32" and "-m64" options to select a target > subarchitecture, which is true on x86 and PowerPC but not on > AArch64 or RISC-V, for instance; and that >=20 > - The system's linker is able to output libraries for multiple > architectures, requiring (among other things) that multiple > versions of glibc be available, and even using "cross-gcc" and > "cross-libc" I haven't found a straightforward way to achieve this > within a single package build. This also seems to be above-and-beyond for 5 tests out of ~400. > So I expect modifying things to make these tests work on other > platforms would be more trouble than it's worth. Having looked at these myself I agree that it's non-trivial to skip the failing tests on the other architectures. Debian, for instance, runs the tests, but if they fail ignores the outcome, and prints to the build log that 23 tests are expected to fail. > --- >=20 > Simon South (1): > gnu: vulkan-loader: Skip x86-specific tests on non-x86 platforms. >=20 > gnu/local.mk | 1 + > ...ulkan-loader-skip-incompatible-tests.patch | 62 +++++++++++++++++++ > gnu/packages/vulkan.scm | 2 + > 3 files changed, 65 insertions(+) > create mode 100644 gnu/packages/patches/vulkan-loader-skip-incompatible-= tests.patch >=20 >=20 > base-commit: c1ffe2f21bd1b9ba6bd527bbabe130144a69af71 > --=20 > 2.39.2 >=20 >=20 >=20 >=20 --=20 Efraim Flashner =D7=A8=D7=A0=D7=A9=D7=9C=D7=A4 = =D7=9D=D7=99=D7=A8=D7=A4=D7=90 GPG key =3D A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 Confidentiality cannot be guaranteed on emails sent or received unencrypted --VKcIUjxEUth06IHn Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIyBAABCAAdFiEEoov0DD5VE3JmLRT3Qarn3Mo9g1EFAmRigd0ACgkQQarn3Mo9 g1Gg2Q/46Adm3kEpzat8BHmC+yycNNKo6QRYxhQR/W5aosLqwJqHYPgCg+JOWPuX LEDJ+fAY7/oq95G4YhM7fiNJuw2pFLJnxXKzXA03fWflFqf0Ewe3C+lCCJWFzVl8 7ABz1A2QQ3itcpYKahmit3tTYRz0qkQqASuTF4izWOkrGiPfD86n5znO4KF2oBA6 uZ6R5T+B7eESbCDuBBzd5r+NnrlPyfRzPLRfBLEPz88QRVq2zmZCAICtwZTkiZEf DykW/fPlXmV8uTXidqGnqSiHDaMErY61DDUO3GMK8cS4owF9iidxP/hlOMfyBcmb N4GGl14cWzN/i80ygnoKuqhouVUni9iqce3yh/Dq7bUKEAUPB6Z/VT3ViRWRT13e RHgIRQieZVHwzZoz1h45leIOFcoAcDN5ZScbREmEY5kSTbN/tiu2CKj7InfJCZdX YACbg8gFoM/IL82QfI85W+owNwpqhtw6jlpwztPmhcnIQV/mduSipRQMm+fMf0qr /90RbkERMqFMVda6p5fcpjFBK4DYlOCtlZkvhXPbaFElOzpLJNtpmRJD69NgaGZI ooY/nZbssscVIBYSd6clVYzKD0GYRWgoIkigDOiIjScTKlxh/TTB6Tlm98IjH1eJ bs+Qg1OToCm8Skhq/lMmCnArvERoYaU3urdRbqEZsLaqd/ftgw== =cH7o -----END PGP SIGNATURE----- --VKcIUjxEUth06IHn-- From debbugs-submit-bounces@debbugs.gnu.org Sun Jun 04 09:11:22 2023 Received: (at 63400) by debbugs.gnu.org; 4 Jun 2023 13:11:23 +0000 Received: from localhost ([127.0.0.1]:45324 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1q5nVy-0000uh-1H for submit@debbugs.gnu.org; Sun, 04 Jun 2023 09:11:22 -0400 Received: from mailout.easymail.ca ([64.68.200.34]:36422) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1q5nVv-0000uC-HP for 63400@debbugs.gnu.org; Sun, 04 Jun 2023 09:11:20 -0400 Received: from localhost (localhost [127.0.0.1]) by mailout.easymail.ca (Postfix) with ESMTP id B81A461082 for <63400@debbugs.gnu.org>; Sun, 4 Jun 2023 13:11:13 +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 EK1Q_oVYaIeK for <63400@debbugs.gnu.org>; Sun, 4 Jun 2023 13:11:12 +0000 (UTC) Received: from jupiter.smallsystems.net (23-233-96-210.cpe.pppoe.ca [23.233.96.210]) (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 C60F96107D for <63400@debbugs.gnu.org>; Sun, 4 Jun 2023 13:11:12 +0000 (UTC) From: Simon South To: 63400@debbugs.gnu.org Subject: [PATCH v2 1/2] gnu: vulkan-loader: Skip x86-specific tests on non-x86 platforms. Date: Sun, 4 Jun 2023 09:11:07 -0400 Message-Id: <0640e02e68cea6ccbacba3b5b436cc0d722497d0.1685883140.git.simon@simonsouth.net> X-Mailer: git-send-email 2.39.1 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 63400 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) * gnu/packages/patches/vulkan-loader-skip-incompatible-tests.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/vulkan.scm (vulkan-loader)[source]: Apply it. --- gnu/local.mk | 1 + ...ulkan-loader-skip-incompatible-tests.patch | 62 +++++++++++++++++++ gnu/packages/vulkan.scm | 2 + 3 files changed, 65 insertions(+) create mode 100644 gnu/packages/patches/vulkan-loader-skip-incompatible-tests.patch diff --git a/gnu/local.mk b/gnu/local.mk index 9adf593318..8da6599110 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -2047,6 +2047,7 @@ dist_patch_DATA = \ %D%/packages/patches/vtk-7-gcc-10-compat.patch \ %D%/packages/patches/vtk-7-hdf5-compat.patch \ %D%/packages/patches/vtk-7-python-compat.patch \ + %D%/packages/patches/vulkan-loader-skip-incompatible-tests.patch \ %D%/packages/patches/wacomtablet-add-missing-includes.patch \ %D%/packages/patches/wacomtablet-qt5.15.patch \ %D%/packages/patches/warsow-qfusion-fix-bool-return-type.patch \ diff --git a/gnu/packages/patches/vulkan-loader-skip-incompatible-tests.patch b/gnu/packages/patches/vulkan-loader-skip-incompatible-tests.patch new file mode 100644 index 0000000000..92e3d03bb6 --- /dev/null +++ b/gnu/packages/patches/vulkan-loader-skip-incompatible-tests.patch @@ -0,0 +1,62 @@ +Certain tests that use the pre-built libraries provided in +tests/framework/data/binaries presume they are running on a 32- or +64-bit x86 host, as these are the only architectures for which the +libraries are provided. + +Skip these tests on non-x86 platforms where the tests are certain to +fail. + +diff --git a/tests/loader_regression_tests.cpp b/tests/loader_regression_tests.cpp +index 7390596bd..1b0780c65 100644 +--- a/tests/loader_regression_tests.cpp ++++ b/tests/loader_regression_tests.cpp +@@ -1014,6 +1014,9 @@ TEST(CreateDevice, ConsecutiveCreateWithoutDestruction) { + } + + TEST(TryLoadWrongBinaries, WrongICD) { ++#if !defined(__x86_64__) && !defined(__i386__) ++ GTEST_SKIP() << "Skip this test as it is not compatible with this architecture."; ++#endif + FrameworkEnvironment env{}; + env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2)); + env.add_icd(TestICDDetails(CURRENT_PLATFORM_DUMMY_BINARY_WRONG_TYPE).set_is_fake(true)); +@@ -1041,6 +1044,9 @@ TEST(TryLoadWrongBinaries, WrongICD) { + } + + TEST(TryLoadWrongBinaries, WrongExplicit) { ++#if !defined(__x86_64__) && !defined(__i386__) ++ GTEST_SKIP() << "Skip this test as it is not compatible with this architecture."; ++#endif + FrameworkEnvironment env{}; + env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2)); + env.get_test_icd().physical_devices.emplace_back("physical_device_0"); +@@ -1077,6 +1083,9 @@ TEST(TryLoadWrongBinaries, WrongExplicit) { + } + + TEST(TryLoadWrongBinaries, WrongImplicit) { ++#if !defined(__x86_64__) && !defined(__i386__) ++ GTEST_SKIP() << "Skip this test as it is not compatible with this architecture."; ++#endif + FrameworkEnvironment env{}; + env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2)); + env.get_test_icd().physical_devices.emplace_back("physical_device_0"); +@@ -1114,6 +1123,9 @@ TEST(TryLoadWrongBinaries, WrongImplicit) { + } + + TEST(TryLoadWrongBinaries, WrongExplicitAndImplicit) { ++#if !defined(__x86_64__) && !defined(__i386__) ++ GTEST_SKIP() << "Skip this test as it is not compatible with this architecture."; ++#endif + FrameworkEnvironment env{}; + env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2)); + env.get_test_icd().physical_devices.emplace_back("physical_device_0"); +@@ -1159,6 +1171,9 @@ TEST(TryLoadWrongBinaries, WrongExplicitAndImplicit) { + } + + TEST(TryLoadWrongBinaries, WrongExplicitAndImplicitErrorOnly) { ++#if !defined(__x86_64__) && !defined(__i386__) ++ GTEST_SKIP() << "Skip this test as it is not compatible with this architecture."; ++#endif + FrameworkEnvironment env{}; + env.add_icd(TestICDDetails(TEST_ICD_PATH_VERSION_2)); + env.get_test_icd().physical_devices.emplace_back("physical_device_0"); diff --git a/gnu/packages/vulkan.scm b/gnu/packages/vulkan.scm index 1d2e58f1d4..790a1c7c07 100644 --- a/gnu/packages/vulkan.scm +++ b/gnu/packages/vulkan.scm @@ -222,6 +222,8 @@ (define-public vulkan-loader (url "https://github.com/KhronosGroup/Vulkan-Loader") (commit "v1.3.232"))) (file-name (git-file-name name version)) + (patches + (search-patches "vulkan-loader-skip-incompatible-tests.patch")) (sha256 (base32 "0w69sh669sx9pwlvv2rv92ds2hm2rbzsa6qqcmd8kcad0qfq7dz2")))) -- 2.39.1 From debbugs-submit-bounces@debbugs.gnu.org Sun Jun 04 09:11:23 2023 Received: (at 63400) by debbugs.gnu.org; 4 Jun 2023 13:11:23 +0000 Received: from localhost ([127.0.0.1]:45326 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1q5nVy-0000uk-VF for submit@debbugs.gnu.org; Sun, 04 Jun 2023 09:11:23 -0400 Received: from mailout.easymail.ca ([64.68.200.34]:36432) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1q5nVv-0000uE-HX for 63400@debbugs.gnu.org; Sun, 04 Jun 2023 09:11:20 -0400 Received: from localhost (localhost [127.0.0.1]) by mailout.easymail.ca (Postfix) with ESMTP id 5265660FA0 for <63400@debbugs.gnu.org>; Sun, 4 Jun 2023 13:11:14 +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 ch3lpEgYNO2w for <63400@debbugs.gnu.org>; Sun, 4 Jun 2023 13:11:12 +0000 (UTC) Received: from jupiter.smallsystems.net (23-233-96-210.cpe.pppoe.ca [23.233.96.210]) (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 AA2BF61064 for <63400@debbugs.gnu.org>; Sun, 4 Jun 2023 13:11:12 +0000 (UTC) From: Simon South To: 63400@debbugs.gnu.org Subject: [PATCH v2 0/2] gnu: vulkan-loader: Skip x86-specific tests on non-x86 platforms. Date: Sun, 4 Jun 2023 09:11:06 -0400 Message-Id: X-Mailer: git-send-email 2.39.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 63400 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Here's a v2 of this patch (now series) that's updated to match the code in master. These changes now - Patch the vulkan-loader source to disable x86-specific tests on non-x86 platforms, - Re-enable the test suite on AArch64 (as it is now safe to do so) but - Leave tests disabled on all other non-x86 platforms. I've tested this on AArch64 and x86-64 and vulkan-loader builds correctly for me on both platforms. Thoughts? -- Simon South simon@simonsouth.net --- Simon South (2): gnu: vulkan-loader: Skip x86-specific tests on non-x86 platforms. gnu: vulkan-loader: Re-enable tests on AArch64. gnu/local.mk | 1 + ...ulkan-loader-skip-incompatible-tests.patch | 62 +++++++++++++++++++ gnu/packages/vulkan.scm | 4 +- 3 files changed, 66 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/vulkan-loader-skip-incompatible-tests.patch base-commit: d84517805080ec51bab1921ac34c28adf3d88596 -- 2.39.1 From debbugs-submit-bounces@debbugs.gnu.org Sun Jun 04 09:11:23 2023 Received: (at 63400) by debbugs.gnu.org; 4 Jun 2023 13:11:23 +0000 Received: from localhost ([127.0.0.1]:45328 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1q5nVz-0000uv-Bl for submit@debbugs.gnu.org; Sun, 04 Jun 2023 09:11:23 -0400 Received: from mailout.easymail.ca ([64.68.200.34]:36424) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1q5nVv-0000uD-HR for 63400@debbugs.gnu.org; Sun, 04 Jun 2023 09:11:21 -0400 Received: from localhost (localhost [127.0.0.1]) by mailout.easymail.ca (Postfix) with ESMTP id E4B806107D for <63400@debbugs.gnu.org>; Sun, 4 Jun 2023 13:11:13 +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 7Y14OWgSjIcO for <63400@debbugs.gnu.org>; Sun, 4 Jun 2023 13:11:13 +0000 (UTC) Received: from jupiter.smallsystems.net (23-233-96-210.cpe.pppoe.ca [23.233.96.210]) (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 E250861080 for <63400@debbugs.gnu.org>; Sun, 4 Jun 2023 13:11:12 +0000 (UTC) From: Simon South To: 63400@debbugs.gnu.org Subject: [PATCH v2 2/2] gnu: vulkan-loader: Re-enable tests on AArch64. Date: Sun, 4 Jun 2023 09:11:08 -0400 Message-Id: X-Mailer: git-send-email 2.39.1 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 63400 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) * gnu/packages/vulkan.scm (vulkan-loader)[arguments]<#:tests?>: Enable on AArch64. --- gnu/packages/vulkan.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/vulkan.scm b/gnu/packages/vulkan.scm index 790a1c7c07..fd6bd57602 100644 --- a/gnu/packages/vulkan.scm +++ b/gnu/packages/vulkan.scm @@ -233,7 +233,7 @@ (define-public vulkan-loader ;; As many as 23 tests are expected to fail per architecture. ;; Limit the tests to those architectures tested upstream. #:tests? (and (%current-system) - (target-x86?)) + (or (target-aarch64?) (target-x86?))) #:configure-flags #~(list (string-append "-DVULKAN_HEADERS_INSTALL_DIR=" (dirname (dirname -- 2.39.1