Bug#1139553: silo-llnl: FTBFS aginst HDF5 2.1.0
Gilles Filippini
pini at debian.org
Sat Jun 20 17:19:51 BST 2026
Control: tags -1 + patch
Gilles Filippini a écrit le 09/06/2026 à 14:38 :
> Source: silo-llnl
> Version: 4.11-6.1
> Severity: important
> Tags: ftbfs
>
> Hi,
>
> During a test rebuild of HDF5's reverse dependcies against HDF5 2.1.0
> currently in experimental, silo-llnl FTBFS with:
>
> silo_hdf5.c: In function 'db_hdf5_init':
> silo_hdf5.c:961:60: error: passing argument 5 of 'db_hdf5_put_cmemb' from incompatible pointer type [-Wincompatible-pointer-types]
> 961 | db_hdf5_put_cmemb(_mt, #NAME, OFFSET(_m, NAME), 1, &_size, _tmp_m); \
> | ^~~~~~
> | |
> | hsize_t * {aka long unsigned int *}
> silo_hdf5.c:2202:9: note: in expansion of macro 'MEMBER_3'
> 2202 | MEMBER_3(double, min_extents);
> | ^~~~~~~~
> silo_hdf5.c:1940:41: note: expected 'const int *' but argument is of type 'hsize_t *' {aka 'long unsigned int *'}
> 1940 | int ndims, int const *dim, hid_t type)
> | ~~~~~~~~~~~^~~
> silo_hdf5.c:963:54: error: passing argument 5 of 'db_hdf5_put_cmemb' from incompatible pointer type [-Wincompatible-pointer-types]
> 963 | db_hdf5_put_cmemb(_ft, #NAME, _f_off, 1, &_size, _tmp_f); \
> | ^~~~~~
> | |
> | hsize_t * {aka long unsigned int *}
> silo_hdf5.c:2202:9: note: in expansion of macro 'MEMBER_3'
> 2202 | MEMBER_3(double, min_extents);
> | ^~~~~~~~
> silo_hdf5.c:1940:41: note: expected 'const int *' but argument is of type 'hsize_t *' {aka 'long unsigned int *'}
> 1940 | int ndims, int const *dim, hid_t type)
> | ~~~~~~~~~~~^~~
>
> It seems the source tree has to be adapted to support this new major release of HDF5.
Please review the attached patch.
Best,
_g.
-------------- next part --------------
diff -Nru silo-llnl-4.11/debian/changelog silo-llnl-4.11/debian/changelog
--- silo-llnl-4.11/debian/changelog 2024-11-20 13:58:02.000000000 +0100
+++ silo-llnl-4.11/debian/changelog 2026-06-20 17:29:16.000000000 +0200
@@ -1,3 +1,10 @@
+silo-llnl (4.11-6.2) UNRELEASED; urgency=medium
+
+ * Non-maintainer upload.
+ * Upstream patch to fix FTBFS against HDF5 2.1.0
+
+ -- Gilles Filippini <pini at debian.org> Sat, 20 Jun 2026 17:29:16 +0200
+
silo-llnl (4.11-6.1) unstable; urgency=medium
[ Gilles Filippini ]
diff -Nru silo-llnl-4.11/debian/patches/hdf5-2.1.0.patch silo-llnl-4.11/debian/patches/hdf5-2.1.0.patch
--- silo-llnl-4.11/debian/patches/hdf5-2.1.0.patch 1970-01-01 01:00:00.000000000 +0100
+++ silo-llnl-4.11/debian/patches/hdf5-2.1.0.patch 2026-06-20 17:29:16.000000000 +0200
@@ -0,0 +1,134 @@
+Description: upstream patches to support HDF5 2.1.0
+
+From 529776e33848e4c5a5aa53ad83837296b08d83d2 Mon Sep 17 00:00:00 2001
+From: "Mark C. Miller" <5720676+markcmiller86 at users.noreply.github.com>
+Date: Sun, 23 Nov 2025 18:26:09 -0800
+Subject: [PATCH 3/5] fix snprintf sizes
+
+---
+ tests/test_mat_compression.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+Index: silo-llnl-4.11/src/hdf5_drv/silo_hdf5.c
+===================================================================
+--- silo-llnl-4.11.orig/src/hdf5_drv/silo_hdf5.c
++++ silo-llnl-4.11/src/hdf5_drv/silo_hdf5.c
+@@ -1895,7 +1895,7 @@ db_hdf5_get_obj_dsnames(DBfile *_dbfile,
+ */
+ PRIVATE hid_t
+ db_hdf5_get_cmemb(hid_t compound_type, int membno, int *ndims/*out*/,
+- int size[3]/*out*/)
++ hsize_t size[3]/*out*/)
+ {
+ hid_t type;
+
+@@ -1937,16 +1937,13 @@ db_hdf5_get_cmemb(hid_t compound_type, i
+ */
+ PRIVATE int
+ db_hdf5_put_cmemb(hid_t compound_type, char const *name, size_t offset,
+- int ndims, int const *dim, hid_t type)
++ int ndims, hsize_t const *dim, hid_t type)
+ {
+ int retval;
+
+ #if (H5_VERS_MAJOR==1 && H5_VERS_MINOR>=4) || H5_VERS_MAJOR>1
+ if (ndims) {
+- hsize_t bigdims[16];
+- int i;
+- for (i=0; i<ndims; i++) bigdims[i] = dim[i];
+- type = H5Tarray_create(type, ndims, bigdims, NULL);
++ type = H5Tarray_create(type, ndims, dim, NULL);
+ }
+ retval = H5Tinsert(compound_type, name, offset, type);
+ if (ndims) H5Tclose(type);
+@@ -3799,10 +3796,11 @@ db_hdf5_get_comp_var(DBfile *_dbfile, ch
+ break;
+ case H5T_ARRAY:
+ {
+- int i, ndims, size[3], len = 1;
++ int i, ndims, len = 1;
++ hsize_t size[3];
+ comptype = db_hdf5_get_cmemb(stypeid, membno, &ndims, size);
+ for (i = 0; i < ndims; i++)
+- len *= size[i];
++ len *= (int) size[i];
+ numvals = len;
+ break;
+ }
+@@ -6484,7 +6482,8 @@ copy_obj(hid_t hobj, char const *name, v
+ s1024 = H5Tcopy(H5T_C_S1);
+ H5Tset_size(s1024, 1024);
+ for (i=0; i<nmembs; i++) {
+- int ndims, j, memb_size[4];
++ int ndims, j;
++ hsize_t memb_size[4];
+ hid_t member_type = db_hdf5_get_cmemb(atype, i, &ndims, memb_size);
+
+ if (H5Tget_class(member_type) == H5T_STRING)
+@@ -6941,7 +6940,8 @@ db_hdf5_GetComponentStuff(DBfile *_dbfil
+ DBfile_hdf5 *dbfile = (DBfile_hdf5*)_dbfile;
+ static char *me = "db_hdf5_GetComponent";
+ hid_t o=-1, attr=-1, atype=-1, ftype=-1, mtype=-1, dset=-1;
+- int datatype, mno, n, ndims, i, dim[3], mult, complen, mnof=-1, mnofidx=-1;
++ int datatype, mno, n, ndims, i, mult, complen, mnof=-1, mnofidx=-1;
++ hsize_t dim[3];
+ char *mnofname=0;
+ void *retval=NULL;
+
+@@ -8630,7 +8630,8 @@ db_hdf5_GetObject(DBfile *_dbfile, char
+ hid_t o=-1, attr=-1, atype=-1, h5str=-1;
+ char *file_value=NULL, *mem_value=NULL, *bkg=NULL, bigname[1024];
+ DBObjectType objtype;
+- int _objtype, nmembs, i, j, memb_size[4];
++ int _objtype, nmembs, i, j;
++ hsize_t memb_size[4];
+ DBobject *obj=NULL;
+ size_t asize, nelmts, msize;
+
+Index: silo-llnl-4.11/src/taurus/silo_taurus.c
+===================================================================
+--- silo-llnl-4.11.orig/src/taurus/silo_taurus.c
++++ silo-llnl-4.11/src/taurus/silo_taurus.c
+@@ -1776,7 +1776,7 @@ db_taur_cd(TAURUSfile *taurus, char cons
+ int state;
+ char *dir;
+ char opath[160];
+- char npath[160];
++ char npath[256];
+
+ /*
+ * Form the new path.
+From 99b6a48a47d5731dde0c90d9009568bc8618c940 Mon Sep 17 00:00:00 2001
+From: "Mark C. Miller" <5720676+markcmiller86 at users.noreply.github.com>
+Date: Thu, 20 Nov 2025 18:00:59 -0800
+Subject: [PATCH] HDmemcmp->memcmp
+
+---
+ src/hdf5_drv/H5FDsilo.c | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+Index: silo-llnl-4.11/src/hdf5_drv/H5FDsilo.c
+===================================================================
+--- silo-llnl-4.11.orig/src/hdf5_drv/H5FDsilo.c
++++ silo-llnl-4.11/src/hdf5_drv/H5FDsilo.c
+@@ -1796,16 +1796,16 @@ H5FD_silo_cmp(const H5FD_t *_f1, const H
+ * determine if the values are the same or not. The actual return value
+ * shouldn't really matter...
+ */
+- if(HDmemcmp(&(f1->device),&(f2->device),sizeof(dev_t))<0) return -1;
+- if(HDmemcmp(&(f1->device),&(f2->device),sizeof(dev_t))>0) return 1;
++ if(memcmp(&(f1->device),&(f2->device),sizeof(dev_t))<0) return -1;
++ if(memcmp(&(f1->device),&(f2->device),sizeof(dev_t))>0) return 1;
+ #endif /* H5_DEV_T_IS_SCALAR */
+
+ #ifndef H5_VMS
+ if (f1->inode < f2->inode) return -1;
+ if (f1->inode > f2->inode) return 1;
+ #else
+- if(HDmemcmp(&(f1->inode),&(f2->inode),3*sizeof(ino_t))<0) return -1;
+- if(HDmemcmp(&(f1->inode),&(f2->inode),3*sizeof(ino_t))>0) return 1;
++ if(memcmp(&(f1->inode),&(f2->inode),3*sizeof(ino_t))<0) return -1;
++ if(memcmp(&(f1->inode),&(f2->inode),3*sizeof(ino_t))>0) return 1;
+ #endif /*H5_VMS*/
+
+ #endif
diff -Nru silo-llnl-4.11/debian/patches/series silo-llnl-4.11/debian/patches/series
--- silo-llnl-4.11/debian/patches/series 2024-11-20 13:58:02.000000000 +0100
+++ silo-llnl-4.11/debian/patches/series 2026-06-20 17:29:16.000000000 +0200
@@ -10,3 +10,4 @@
implicit-fn-decl.patch
gcc-14.patch
hdf5-1.14.patch
+hdf5-2.1.0.patch
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: OpenPGP digital signature
URL: <http://alioth-lists.debian.net/pipermail/debian-science-maintainers/attachments/20260620/1fac4fca/attachment.sig>
More information about the debian-science-maintainers
mailing list