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: ftbfsHi, 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.
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 <[email protected]> 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" <[email protected]> +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" <[email protected]> +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
OpenPGP_signature.asc
Description: OpenPGP digital signature

