From 9c3dcea2cda3b6eff90e72a826196bfb44d151d8 Mon Sep 17 00:00:00 2001 From: Sam James Date: Mon, 19 Aug 2024 03:46:46 +0100 Subject: [PATCH] ci: skip frameworks/17 mpi for auto/pkgconfig on Ubuntu The pkgconfig file in Debian and Ubuntu is definitely broken and we've reported it upstream, but we don't really want to keep our image building failing while we wait for that to be fixed. Skip the auto/pkgconfig test if both: a) we're on Ubuntu, and b) the .pc checksum matches a known-bad copy. I'm also CC'd to the bug to catch if it gets fixed. Bug: https://bugs.debian.org/1078026 --- test cases/frameworks/17 mpi/meson.build | 10 ++++++++++ test cases/frameworks/17 mpi/test.json | 6 ++++-- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/test cases/frameworks/17 mpi/meson.build b/test cases/frameworks/17 mpi/meson.build index d1d899155..5d233bfb2 100644 --- a/test cases/frameworks/17 mpi/meson.build +++ b/test cases/frameworks/17 mpi/meson.build @@ -32,6 +32,16 @@ test('MPI C++', execpp, timeout: 20) if add_languages('fortran', required : false) + if method in ['auto', 'pkg-config'] + # https://bugs.debian.org/1078026 + fs = import('fs') + if fs.exists('/usr/lib/x86_64-linux-gnu/pkgconfig/ompi-fort.pc') + if fs.hash('/usr/lib/x86_64-linux-gnu/pkgconfig/ompi-fort.pc', 'md5') == '0892a93630e3d3359c43c58d5a82efc0' + error('MESON_SKIP_TEST: openmpi pkgconfig file is broken on Debian/Ubuntu') + endif + endif + endif + fc = meson.get_compiler('fortran') mpif = dependency('mpi', language : 'fortran', required: false, method : method) if not fc.links('use mpi; end', dependencies: mpif, name: 'Fortran MPI') diff --git a/test cases/frameworks/17 mpi/test.json b/test cases/frameworks/17 mpi/test.json index cbd168612..3a46657ef 100644 --- a/test cases/frameworks/17 mpi/test.json +++ b/test cases/frameworks/17 mpi/test.json @@ -2,8 +2,10 @@ "matrix": { "options": { "method": [ - { "val": "auto" }, - { "val": "pkg-config" }, + { "val": "auto", + "expect_skip_on_jobname": ["ubuntu"] }, + { "val": "pkg-config", + "expect_skip_on_jobname": ["ubuntu"] }, { "val": "config-tool", "expect_skip_on_jobname": ["fedora"] }, {