Control: tags -1 + patch Hi,
Gilles Filippini a écrit le 09/06/2026 à 13:22 :
Source: r-cran-hdf5r
Version: 1.3.12+dfsg-3
Severity: important
Tags: ftbfs
Hi,
During a test rebuild of HDF5's reverse dependcies against HDF5 2.1.0
currently in experimental, r-cran-hdf5r FTBFS with:
Wrapper_auto_H5FDfamily.c: In function ‘R_H5FD_family_init’:
Wrapper_auto_H5FDfamily.c:23:22: error: implicit declaration of function
‘H5FD_family_init’; did you mean ‘R_H5FD_family_init’?
[-Wimplicit-function-declaration]
23 | hid_t return_val = H5FD_family_init();
| ^~~~~~~~~~~~~~~~
| R_H5FD_family_init
I know nothing about R unfortunately, so I cannot fix it by myself.
Please review the attached patch.
Best,
_g.
diff -Nru r-cran-hdf5r-1.3.12+dfsg/debian/changelog r-cran-hdf5r-1.3.12+dfsg/debian/changelog --- r-cran-hdf5r-1.3.12+dfsg/debian/changelog 2026-03-11 04:20:28.000000000 +0100 +++ r-cran-hdf5r-1.3.12+dfsg/debian/changelog 2026-06-20 16:49:06.000000000 +0200 @@ -1,3 +1,10 @@ +r-cran-hdf5r (1.3.12+dfsg-3.1) UNRELEASED; urgency=medium + + * Non-maintainer upload. + * Fix FTBFS against HDF5 2.1.0 + + -- Gilles Filippini <[email protected]> Sat, 20 Jun 2026 16:49:06 +0200 + r-cran-hdf5r (1.3.12+dfsg-3) unstable; urgency=medium [ Andreas Tille ] diff -Nru r-cran-hdf5r-1.3.12+dfsg/debian/patches/hdf5-2.1.0.patch r-cran-hdf5r-1.3.12+dfsg/debian/patches/hdf5-2.1.0.patch --- r-cran-hdf5r-1.3.12+dfsg/debian/patches/hdf5-2.1.0.patch 1970-01-01 01:00:00.000000000 +0100 +++ r-cran-hdf5r-1.3.12+dfsg/debian/patches/hdf5-2.1.0.patch 2026-06-20 16:49:06.000000000 +0200 @@ -0,0 +1,250 @@ +Index: r-cran-hdf5r-1.3.12+dfsg/configure.ac +=================================================================== +--- r-cran-hdf5r-1.3.12+dfsg.orig/configure.ac ++++ r-cran-hdf5r-1.3.12+dfsg/configure.ac +@@ -125,7 +125,7 @@ fi + HDF5_LIBS=`${H5CC} -show | ${GREP} -o " \-[lL][^[:space:]]\+" | tr "\n" " "` + ] + dnl Fix for newer Debian versions +-HDF5_LIBS="${HDF5_LIBS} -L. -lhdf5_hl -lhdf5 -lz -lm" ++HDF5_LIBS="${HDF5_LIBS} -lhdf5${HDF5_INFIX}_hl -lhdf5${HDF5_INFIX} -lz -lm" + + ######################### + # Determine HDF5_CPPFLAGS +Index: r-cran-hdf5r-1.3.12+dfsg/inst/m4/ax_lib_hdf5.m4 +=================================================================== +--- r-cran-hdf5r-1.3.12+dfsg.orig/inst/m4/ax_lib_hdf5.m4 ++++ r-cran-hdf5r-1.3.12+dfsg/inst/m4/ax_lib_hdf5.m4 +@@ -236,7 +236,17 @@ HDF5 support is being disabled (equivale + esac + done + +- HDF5_LIBS="$HDF5_LIBS -lhdf5" ++ HDF5_INFIX= ++ for lib in $HDF5_LIBS; do ++ case "$lib" in ++ -lhdf5_*) ++ HDF5_INFIX="${lib#-lhdf5_}" ++ HDF5_INFIX="_${HDF5_INFIX%%_*}" ++ break ++ ;; ++ esac ++ done ++ HDF5_LIBS="$HDF5_LIBS -lhdf5$HDF5_INFIX" + AC_MSG_RESULT([yes (version $[HDF5_VERSION])]) + + dnl See if we can compile +@@ -250,19 +260,19 @@ HDF5 support is being disabled (equivale + LIBS=$HDF5_LIBS + LDFLAGS=$HDF5_LDFLAGS + AC_CHECK_HEADER([hdf5.h], [ac_cv_hadf5_h=yes], [ac_cv_hadf5_h=no]) +- AC_CHECK_LIB([hdf5], [H5Fcreate], [ac_cv_libhdf5=yes], ++ AC_CHECK_LIB([hdf5$HDF5_INFIX], [H5Fcreate], [ac_cv_libhdf5=yes], + [ac_cv_libhdf5=no]) + if test "$ac_cv_hadf5_h" = "no" && test "$ac_cv_libhdf5" = "no" ; then + AC_MSG_WARN([Unable to compile HDF5 test program]) + fi + AC_CHECK_HEADER([hdf5_hl.h], [ac_cv_hadf5_hl_h=yes], [ac_cv_hadf5_hl_h=no], [#include <hdf5.h>]) +- AC_CHECK_LIB([hdf5_hl], [H5LTpath_valid], [ac_cv_libhdf5_hl=yes], ++ AC_CHECK_LIB([hdf5${HDF5_INFIX}_hl], [H5LTpath_valid], [ac_cv_libhdf5_hl=yes], + [ac_cv_libhdf5_hl=no]) + if test "$ac_cv_hadf5_hl_h" = "no" && test "$ac_cv_libhdf5_hl" = "no"; then + AC_MSG_WARN([Unable to compile HDF5_HL test program]) + fi + dnl Look for HDF5's high level library +- AC_CHECK_LIB([hdf5_hl], [main], [HDF5_LIBS="$HDF5_LIBS -lhdf5_hl"], [], []) ++ AC_CHECK_LIB([hdf5${HDF5_INFIX}_hl], [main], [HDF5_LIBS="$HDF5_LIBS -lhdf5${HDF5_INFIX}_hl"], [], []) + + CC=$ax_lib_hdf5_save_CC + CPPFLAGS=$ax_lib_hdf5_save_CPPFLAGS +@@ -299,9 +309,9 @@ HDF5 support is being disabled (equivale + for arg in $HDF5_LIBS + do + case "$arg" in #( +- -lhdf5_hl) HDF5_FLIBS="$HDF5_FLIBS -lhdf5hl_fortran $arg" ++ -lhdf5${HDF5_INFIX}_hl) HDF5_FLIBS="$HDF5_FLIBS -lhdf5${HDF5_INFIX}_hl_fortran $arg" + ;; #( +- -lhdf5) HDF5_FLIBS="$HDF5_FLIBS -lhdf5_fortran $arg" ++ -lhdf5${HDF5_INFIX}) HDF5_FLIBS="$HDF5_FLIBS -lhdf5${HDF5_INFIX}_fortran $arg" + ;; #( + *) HDF5_FLIBS="$HDF5_FLIBS $arg" + ;; +Index: r-cran-hdf5r-1.3.12+dfsg/src/1_12_0/Wrapper_auto_H5FDfamily.c +=================================================================== +--- r-cran-hdf5r-1.3.12+dfsg.orig/src/1_12_0/Wrapper_auto_H5FDfamily.c ++++ r-cran-hdf5r-1.3.12+dfsg/src/1_12_0/Wrapper_auto_H5FDfamily.c +@@ -17,6 +17,7 @@ + *************************************************************************/ + + #include "Wrapper_auto_H5FDfamily.h" ++#if defined(H5FD_family_init) + /* H5_DLL hid_t H5FD_family_init(void); */ + SEXP R_H5FD_family_init(void){ + int vars_protected=0; +@@ -35,6 +36,7 @@ SEXP R_H5FD_family_init(void){ + UNPROTECT(vars_protected); + return(__ret_list); + } ++#endif + + /* H5_DLL herr_t H5Pget_fapl_family(hid_t fapl_id, hsize_t *memb_size, hid_t *memb_fapl_id); */ + SEXP R_H5Pget_fapl_family(SEXP R_fapl_id, SEXP R_memb_size, SEXP R_memb_fapl_id){ +Index: r-cran-hdf5r-1.3.12+dfsg/src/1_12_0/Wrapper_auto_H5FDfamily.h +=================================================================== +--- r-cran-hdf5r-1.3.12+dfsg.orig/src/1_12_0/Wrapper_auto_H5FDfamily.h ++++ r-cran-hdf5r-1.3.12+dfsg/src/1_12_0/Wrapper_auto_H5FDfamily.h +@@ -1,8 +1,10 @@ + #ifndef _WRAPPER_AUTO_H5FDFAMILY_H_ + #define _WRAPPER_AUTO_H5FDFAMILY_H_ + #include "global.h" ++#if defined(H5FD_family_init) + /* H5_DLL hid_t H5FD_family_init(void); */ + SEXP R_H5FD_family_init(void); ++#endif + /* H5_DLL herr_t H5Pget_fapl_family(hid_t fapl_id, hsize_t *memb_size, hid_t *memb_fapl_id); */ + SEXP R_H5Pget_fapl_family(SEXP R_fapl_id, SEXP R_memb_size, SEXP R_memb_fapl_id); + /* H5_DLL herr_t H5Pset_fapl_family(hid_t fapl_id, hsize_t memb_size, hid_t memb_fapl_id); */ +Index: r-cran-hdf5r-1.3.12+dfsg/src/1_12_0/Wrapper_auto_H5FDlog.c +=================================================================== +--- r-cran-hdf5r-1.3.12+dfsg.orig/src/1_12_0/Wrapper_auto_H5FDlog.c ++++ r-cran-hdf5r-1.3.12+dfsg/src/1_12_0/Wrapper_auto_H5FDlog.c +@@ -17,6 +17,7 @@ + *************************************************************************/ + + #include "Wrapper_auto_H5FDlog.h" ++#if defined(H5FD_log_init) + /* H5_DLL hid_t H5FD_log_init(void); */ + SEXP R_H5FD_log_init(void){ + int vars_protected=0; +@@ -35,6 +36,7 @@ SEXP R_H5FD_log_init(void){ + UNPROTECT(vars_protected); + return(__ret_list); + } ++#endif + + /* H5_DLL herr_t H5Pset_fapl_log(hid_t fapl_id, const char *logfile, unsigned long long flags, size_t buf_size); */ + SEXP R_H5Pset_fapl_log(SEXP R_fapl_id, SEXP R_logfile, SEXP R_flags, SEXP R_buf_size){ +Index: r-cran-hdf5r-1.3.12+dfsg/src/1_12_0/Wrapper_auto_H5FDlog.h +=================================================================== +--- r-cran-hdf5r-1.3.12+dfsg.orig/src/1_12_0/Wrapper_auto_H5FDlog.h ++++ r-cran-hdf5r-1.3.12+dfsg/src/1_12_0/Wrapper_auto_H5FDlog.h +@@ -1,8 +1,10 @@ + #ifndef _WRAPPER_AUTO_H5FDLOG_H_ + #define _WRAPPER_AUTO_H5FDLOG_H_ + #include "global.h" ++#if defined(H5FD_log_init) + /* H5_DLL hid_t H5FD_log_init(void); */ + SEXP R_H5FD_log_init(void); ++#endif + /* H5_DLL herr_t H5Pset_fapl_log(hid_t fapl_id, const char *logfile, unsigned long long flags, size_t buf_size); */ + SEXP R_H5Pset_fapl_log(SEXP R_fapl_id, SEXP R_logfile, SEXP R_flags, SEXP R_buf_size); + #endif +Index: r-cran-hdf5r-1.3.12+dfsg/src/1_12_0/Wrapper_auto_H5FDsec2.c +=================================================================== +--- r-cran-hdf5r-1.3.12+dfsg.orig/src/1_12_0/Wrapper_auto_H5FDsec2.c ++++ r-cran-hdf5r-1.3.12+dfsg/src/1_12_0/Wrapper_auto_H5FDsec2.c +@@ -17,6 +17,7 @@ + *************************************************************************/ + + #include "Wrapper_auto_H5FDsec2.h" ++#if defined(H5FD_sec2_init) + /* H5_DLL hid_t H5FD_sec2_init(void); */ + SEXP R_H5FD_sec2_init(void){ + int vars_protected=0; +@@ -35,6 +36,7 @@ SEXP R_H5FD_sec2_init(void){ + UNPROTECT(vars_protected); + return(__ret_list); + } ++#endif + + /* H5_DLL herr_t H5Pset_fapl_sec2(hid_t fapl_id); */ + SEXP R_H5Pset_fapl_sec2(SEXP R_fapl_id){ +Index: r-cran-hdf5r-1.3.12+dfsg/src/1_12_0/Wrapper_auto_H5FDsec2.h +=================================================================== +--- r-cran-hdf5r-1.3.12+dfsg.orig/src/1_12_0/Wrapper_auto_H5FDsec2.h ++++ r-cran-hdf5r-1.3.12+dfsg/src/1_12_0/Wrapper_auto_H5FDsec2.h +@@ -1,8 +1,10 @@ + #ifndef _WRAPPER_AUTO_H5FDSEC2_H_ + #define _WRAPPER_AUTO_H5FDSEC2_H_ + #include "global.h" ++#if defined(H5FD_sec2_init) + /* H5_DLL hid_t H5FD_sec2_init(void); */ + SEXP R_H5FD_sec2_init(void); ++#endif + /* H5_DLL herr_t H5Pset_fapl_sec2(hid_t fapl_id); */ + SEXP R_H5Pset_fapl_sec2(SEXP R_fapl_id); + #endif +Index: r-cran-hdf5r-1.3.12+dfsg/src/1_12_0/Wrapper_auto_H5FDstdio.c +=================================================================== +--- r-cran-hdf5r-1.3.12+dfsg.orig/src/1_12_0/Wrapper_auto_H5FDstdio.c ++++ r-cran-hdf5r-1.3.12+dfsg/src/1_12_0/Wrapper_auto_H5FDstdio.c +@@ -17,6 +17,7 @@ + *************************************************************************/ + + #include "Wrapper_auto_H5FDstdio.h" ++#if defined(H5FD_stdio_init) + /* H5_DLL hid_t H5FD_stdio_init(void); */ + SEXP R_H5FD_stdio_init(void){ + int vars_protected=0; +@@ -35,6 +36,7 @@ SEXP R_H5FD_stdio_init(void){ + UNPROTECT(vars_protected); + return(__ret_list); + } ++#endif + + /* H5_DLL herr_t H5Pset_fapl_stdio(hid_t fapl_id); */ + SEXP R_H5Pset_fapl_stdio(SEXP R_fapl_id){ +Index: r-cran-hdf5r-1.3.12+dfsg/src/1_12_0/Wrapper_auto_H5FDstdio.h +=================================================================== +--- r-cran-hdf5r-1.3.12+dfsg.orig/src/1_12_0/Wrapper_auto_H5FDstdio.h ++++ r-cran-hdf5r-1.3.12+dfsg/src/1_12_0/Wrapper_auto_H5FDstdio.h +@@ -1,8 +1,10 @@ + #ifndef _WRAPPER_AUTO_H5FDSTDIO_H_ + #define _WRAPPER_AUTO_H5FDSTDIO_H_ + #include "global.h" ++#if defined(H5FD_stdio_init) + /* H5_DLL hid_t H5FD_stdio_init(void); */ + SEXP R_H5FD_stdio_init(void); ++#endif + /* H5_DLL herr_t H5Pset_fapl_stdio(hid_t fapl_id); */ + SEXP R_H5Pset_fapl_stdio(SEXP R_fapl_id); + #endif +Index: r-cran-hdf5r-1.3.12+dfsg/src/1_12_0/export_auto.h +=================================================================== +--- r-cran-hdf5r-1.3.12+dfsg.orig/src/1_12_0/export_auto.h ++++ r-cran-hdf5r-1.3.12+dfsg/src/1_12_0/export_auto.h +@@ -165,26 +165,34 @@ R_CallMethodDef library_WRAPPER_AUTO_H5F + }; + + R_CallMethodDef library_WRAPPER_AUTO_H5FDFAMILY[] = { ++#if defined(H5FD_family_init) + {"R_H5FD_family_init", (DL_FUNC) &R_H5FD_family_init, 0}, ++#endif + {"R_H5Pget_fapl_family", (DL_FUNC) &R_H5Pget_fapl_family, 3}, + {"R_H5Pset_fapl_family", (DL_FUNC) &R_H5Pset_fapl_family, 3}, + {NULL, NULL, 0} + }; + + R_CallMethodDef library_WRAPPER_AUTO_H5FDLOG[] = { ++#if defined(H5FD_log_init) + {"R_H5FD_log_init", (DL_FUNC) &R_H5FD_log_init, 0}, ++#endif + {"R_H5Pset_fapl_log", (DL_FUNC) &R_H5Pset_fapl_log, 4}, + {NULL, NULL, 0} + }; + + R_CallMethodDef library_WRAPPER_AUTO_H5FDSEC2[] = { ++#if defined(H5FD_sec2_init) + {"R_H5FD_sec2_init", (DL_FUNC) &R_H5FD_sec2_init, 0}, ++#endif + {"R_H5Pset_fapl_sec2", (DL_FUNC) &R_H5Pset_fapl_sec2, 1}, + {NULL, NULL, 0} + }; + + R_CallMethodDef library_WRAPPER_AUTO_H5FDSTDIO[] = { ++#if defined(H5FD_stdio_init) + {"R_H5FD_stdio_init", (DL_FUNC) &R_H5FD_stdio_init, 0}, ++#endif + {"R_H5Pset_fapl_stdio", (DL_FUNC) &R_H5Pset_fapl_stdio, 1}, + {NULL, NULL, 0} + }; diff -Nru r-cran-hdf5r-1.3.12+dfsg/debian/patches/series r-cran-hdf5r-1.3.12+dfsg/debian/patches/series --- r-cran-hdf5r-1.3.12+dfsg/debian/patches/series 2026-03-11 04:20:09.000000000 +0100 +++ r-cran-hdf5r-1.3.12+dfsg/debian/patches/series 2026-06-20 16:49:06.000000000 +0200 @@ -1,2 +1,3 @@ hdf5path.patch warn-on-32bit.patch +hdf5-2.1.0.patch
OpenPGP_signature.asc
Description: OpenPGP digital signature

