Salut Gilles, Thanks for the bug report and for the patch.
Which build-dependencies do you use to build the xmds2 package, in order to reproduce the FTBFS issue? The package builds fine against the libhdf5-dev and libhdf5-mpi-dev packages currently in experimental. Best, Rafael * Gilles Filippini <[email protected]> [2026-06-22 16:58]: > Control: tags -1 + patch > > Hi, > > Gilles Filippini a écrit le 09/06/2026 à 14:57 : >> Source: xmds2 >> Version: 3.1.0+dfsg2-13 >> Severity: important >> Tags: ftbfs >> >> Hi, >> >> During a test rebuild of HDF5's reverse dependcies against HDF5 2.1.0 >> currently in experimental, xmds2 FTBFS with: >> >> Checking for program 'h5cc' : /usr/bin/h5cc >> Traceback (most recent call last): >> File "/<<PKGBUILDDIR>>/bin-test/xmds2", line 4, in <module> >> sys.exit(parser2.main()) >> ~~~~~~~~~~~~^^ >> File "/<<PKGBUILDDIR>>/xpdeint/parser2.py", line 219, in main >> return Configuration.run_reconfig(includePaths, libPaths) >> ~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ >> File "/<<PKGBUILDDIR>>/xpdeint/Configuration.py", line 145, in >> run_reconfig >> return run_config(includePaths = includePaths, libPaths = libPaths) >> File "/<<PKGBUILDDIR>>/xpdeint/Configuration.py", line 119, in run_config >> ret = ctx.execute() >> File "/<<PKGBUILDDIR>>/xpdeint/waf/waflib/Configure.py", line 159, in >> execute >> super(ConfigurationContext, self).execute() >> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^ >> File "/<<PKGBUILDDIR>>/xpdeint/waf/waflib/Context.py", line 204, in >> execute >> self.recurse([os.path.dirname(g_module.root_path)]) >> ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >> File "/<<PKGBUILDDIR>>/xpdeint/Configuration.py", line 56, in <lambda> >> lambda x, y: getattr(Context.g_module, x.cmd or x.fun, Utils.nada)(x) >> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^ >> File "/<<PKGBUILDDIR>>/xpdeint/Configuration.py", line 85, in _ >> return f(ctx, *args, **kw) >> File "/<<PKGBUILDDIR>>/xpdeint/support/wscript", line 754, in configure >> configure_compiler() >> ~~~~~~~~~~~~~~~~~~^^ >> File "/<<PKGBUILDDIR>>/xpdeint/support/wscript", line 411, in >> configure_compiler >> hdf5_libpath = re.search(r'\s-L(\S+)', h5cc_shared_flags).group(1) >> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >> AttributeError: 'NoneType' object has no attribute 'group' >> >> I tried to poke into the xpdeint/support/wscript file; but while xmds2 seems >> to build successfully many tests fail then. So I let it to the maintainer of >> the package :) >> >> Don't hesitate to reach if needed, as I am in touch with HDF5 devs and >> they are willing to help. > Please review the attached patch. I've tested it with both HDF5 1.14.6 in > unstable and HDF5 2.1.0 in experimental. > > Best, > _g. > diff -Nru xmds2-3.1.0+dfsg2/debian/changelog > xmds2-3.1.0+dfsg2/debian/changelog > --- xmds2-3.1.0+dfsg2/debian/changelog 2026-03-26 13:48:46.000000000 > +0100 > +++ xmds2-3.1.0+dfsg2/debian/changelog 2026-06-22 16:17:06.000000000 > +0200 > @@ -1,3 +1,10 @@ > +xmds2 (3.1.0+dfsg2-13.1) UNRELEASED; urgency=medium > + > + * Non-maintainer upload. > + * New patch to add support for HDF5 2.1.0 (closes: #1139554) > + > + -- Gilles Filippini <[email protected]> Mon, 22 Jun 2026 16:17:06 +0200 > + > xmds2 (3.1.0+dfsg2-13) unstable; urgency=medium > > * Upload to unstable > diff -Nru xmds2-3.1.0+dfsg2/debian/patches/hdf5-2.1.0.patch > xmds2-3.1.0+dfsg2/debian/patches/hdf5-2.1.0.patch > --- xmds2-3.1.0+dfsg2/debian/patches/hdf5-2.1.0.patch 1970-01-01 > 01:00:00.000000000 +0100 > +++ xmds2-3.1.0+dfsg2/debian/patches/hdf5-2.1.0.patch 2026-06-22 > 16:17:06.000000000 +0200 > @@ -0,0 +1,58 @@ > +Index: xmds2-3.1.0+dfsg2/xpdeint/support/wscript > +=================================================================== > +--- xmds2-3.1.0+dfsg2.orig/xpdeint/support/wscript > ++++ xmds2-3.1.0+dfsg2/xpdeint/support/wscript > +@@ -400,22 +400,31 @@ def configure(conf): > + if conf.env['ENVIRONMENT_NAME'] == 'default': > + hdf5_helper = 'h5cc' > + hdf5_helper_var = 'H5CC' > ++ hdf5_lib = 'hdf5_serial' > ++ hdf5_hl_lib = 'hdf5_serial_hl' > + else: > + hdf5_helper = 'h5pcc' > + hdf5_helper_var = 'H5PCC' > ++ helper_implementation = "/usr/bin/h5pcc" > ++ while os.path.islink(helper_implementation): > ++ helper_implementation = os.readlink(helper_implementation) > ++ hdf5_mpi_flavor = os.path.splitext(helper_implementation)[1][1:] > ++ hdf5_lib = f'hdf5_{hdf5_mpi_flavor}' > ++ hdf5_hl_lib = f'hdf5_{hdf5_mpi_flavor}_hl' > + > + if conf.find_program(f'{hdf5_helper}', var=hdf5_helper_var, > mandatory = False): > + h5cc_shared_flags = > conf.cmd_and_log([conf.env[hdf5_helper_var][0], '-show', '-shlib']) > + h5cc_static_flags = > conf.cmd_and_log([conf.env[hdf5_helper_var][0], '-show', '-noshlib']) > + > +- hdf5_libpath = re.search(r'\s-L(\S+)', > h5cc_shared_flags).group(1) > +- > +- conf.env.append_unique("LIBPATH_hdf5", hdf5_libpath) > ++ re_res = re.search(r'\s-L(\S+)', h5cc_shared_flags) > ++ if re_res: > ++ hdf5_libpath = re_res.group(1) > ++ conf.env.append_unique("LIBPATH_hdf5", hdf5_libpath) > + > + # h5cc uses absolute paths to the static libraries. This > interferes with how waf likes to link > + # against static libraries. Let's remove the absolute paths to > the libraries, and add the static libraries > + # again later. > +- h5cc_static_flags = re.sub(re.escape(hdf5_libpath) + > r"/libhdf5\S*\.a", "", h5cc_static_flags) > ++ h5cc_static_flags = re.sub(r" /[^ ]*/lib(hdf5\S*)\.a", r" > -l\1", h5cc_static_flags) > + > + conf.parse_flags(h5cc_shared_flags, 'hdf5_shared') > + conf.parse_flags(h5cc_static_flags, 'hdf5_static') > +@@ -423,7 +432,7 @@ def configure(conf): > + conf.env['uselib'].extend(['hdf5_shared', 'hdf5_static']) > + > + check_cxx( > +- lib='hdf5', > ++ lib=hdf5_lib, > + header_name='hdf5.h', > + #function_name='H5check_version', > + fragment=''' > +@@ -444,7 +453,7 @@ def configure(conf): > + if 'hdf5' in conf.env['uselib']: > + > + check_cxx( > +- lib='hdf5_hl', > ++ lib=hdf5_hl_lib, > + defines='HAVE_HDF5_HL', > + header_name=['hdf5.h', 'hdf5_hl.h'], > + fragment=''' > diff -Nru xmds2-3.1.0+dfsg2/debian/patches/series > xmds2-3.1.0+dfsg2/debian/patches/series > --- xmds2-3.1.0+dfsg2/debian/patches/series 2026-03-26 13:48:46.000000000 > +0100 > +++ xmds2-3.1.0+dfsg2/debian/patches/series 2026-06-22 16:17:06.000000000 > +0200 > @@ -16,3 +16,4 @@ > wscript-hdf5-cmake-support.patch > wscript-hdf5-mpi-support.patch > auto-gitignore > +hdf5-2.1.0.patch

