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

Attachment: OpenPGP_signature.asc
Description: OpenPGP digital signature

Reply via email to