Hi Stefano,

Le 2024-11-19 23:00, stefa...@debian.org a écrit :
Hi pini (2024.11.19_21:37:51_+0000)
I've committed it to git. But I'll team-upload it without the h5vol
part, as I also have a low confidence in it.

No, I spoke too soon. Autopkgtest fails: The 3.13 library seems to have
been built as if it was for 3.12. I'll look deeper tomorrow.

You're right: the 3.13 library was built using part of the 3.12 config (include path):

[309/344] /usr/bin/c++ -DADIOS2_PYTHON_MODULE_NAME=adios2_bindings_serial -Dadios2_py3_13_EXPORTS -I/build/adios2-4h5QNS/adios2-2.10.1+dfsg1/bindings/CXX11 -I/build/adios2-4h5QNS/adios2-2.10.1+dfsg1/source -I/build/adios2-4h5QNS/adios2-2.10.1+dfsg1/build-serial/source -isystem /usr/include/python3.12 -g -O2 -ffile-prefix-map=/build/adios2-4h5QNS/adios2-2.10.1+dfsg1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -std=c++11 -fPIC -fvisibility=hidden -MD -MT bindings/Python3.13/Python/CMakeFiles/adios2_py3.13.dir/py11ADIOS.cpp.o -MF bindings/Python3.13/Python/CMakeFiles/adios2_py3.13.dir/py11ADIOS.cpp.o.d -o bindings/Python3.13/Python/CMakeFiles/adios2_py3.13.dir/py11ADIOS.cpp.o -c /build/adios2-4h5QNS/adios2-2.10.1+dfsg1/build-serial/build_source/bindings/Python3.13/Python/py11ADIOS.cpp

Here is an improved patch proposal.

Best,
_g.
diff -Nru adios2-2.10.1+dfsg1/debian/changelog adios2-2.10.1+dfsg1/debian/changelog
--- adios2-2.10.1+dfsg1/debian/changelog	2024-10-12 20:20:05.000000000 +0200
+++ adios2-2.10.1+dfsg1/debian/changelog	2024-11-17 13:57:53.000000000 +0100
@@ -1,3 +1,16 @@
+adios2 (2.10.1+dfsg1-12.1) UNRELEASED; urgency=medium
+
+  * Non-maintainer upload.
+  * Fix patch multiple_python_versions.patch so that the corresponding
+    Python interpreter is used for each Python release we build against
+    (closes: #1086088)
+  * New patch fix_h5vol_library.patch: set suffix and version for h5vol
+    library
+  * Install h5vol library into auxiliary packages (fix FTBFS at
+    dh_missing step)
+
+ -- Gilles Filippini <p...@debian.org>  Sun, 17 Nov 2024 13:57:53 +0100
+
 adios2 (2.10.1+dfsg1-12) unstable; urgency=medium
 
   * adios2 cmake config files check if plugin files are installed, so
diff -Nru adios2-2.10.1+dfsg1/debian/libadios2-mpi-auxiliary-2.10.install adios2-2.10.1+dfsg1/debian/libadios2-mpi-auxiliary-2.10.install
--- adios2-2.10.1+dfsg1/debian/libadios2-mpi-auxiliary-2.10.install	2024-10-12 20:20:05.000000000 +0200
+++ adios2-2.10.1+dfsg1/debian/libadios2-mpi-auxiliary-2.10.install	2024-11-17 13:57:53.000000000 +0100
@@ -1,5 +1,5 @@
 #!/bin/sh
-for l in atl dill ffs evpath perfstubs; do
+for l in atl dill ffs evpath perfstubs h5vol; do
   echo install-mpi/usr/lib/${DEB_HOST_GNU_TYPE}/libadios2_mpi_${l}.so.*  usr/lib/${DEB_HOST_GNU_TYPE}
 done
 
diff -Nru adios2-2.10.1+dfsg1/debian/libadios2-mpi-auxiliary-dev.install adios2-2.10.1+dfsg1/debian/libadios2-mpi-auxiliary-dev.install
--- adios2-2.10.1+dfsg1/debian/libadios2-mpi-auxiliary-dev.install	2024-10-12 20:20:05.000000000 +0200
+++ adios2-2.10.1+dfsg1/debian/libadios2-mpi-auxiliary-dev.install	2024-11-17 13:57:53.000000000 +0100
@@ -1,5 +1,5 @@
 #!/bin/sh
-for l in atl dill ffs evpath perfstubs; do
+for l in atl dill ffs evpath perfstubs h5vol; do
   echo install-mpi/usr/lib/${DEB_HOST_GNU_TYPE}/libadios2_mpi_${l}.so  usr/lib/${DEB_HOST_GNU_TYPE}
 done
 echo install-mpi/usr/lib/${DEB_HOST_GNU_TYPE}/cmake/adios2/mpi/thirdparty usr/lib/${DEB_HOST_GNU_TYPE}/cmake/adios2/mpi
diff -Nru adios2-2.10.1+dfsg1/debian/libadios2-serial-auxiliary-2.10.install adios2-2.10.1+dfsg1/debian/libadios2-serial-auxiliary-2.10.install
--- adios2-2.10.1+dfsg1/debian/libadios2-serial-auxiliary-2.10.install	2024-10-12 20:20:05.000000000 +0200
+++ adios2-2.10.1+dfsg1/debian/libadios2-serial-auxiliary-2.10.install	2024-11-17 13:57:53.000000000 +0100
@@ -1,5 +1,5 @@
 #!/bin/sh
-for l in atl dill ffs evpath perfstubs; do
+for l in atl dill ffs evpath perfstubs h5vol; do
   echo install-serial/usr/lib/${DEB_HOST_GNU_TYPE}/libadios2_serial_${l}.so.*  usr/lib/${DEB_HOST_GNU_TYPE}
 done
 
diff -Nru adios2-2.10.1+dfsg1/debian/libadios2-serial-auxiliary-dev.install adios2-2.10.1+dfsg1/debian/libadios2-serial-auxiliary-dev.install
--- adios2-2.10.1+dfsg1/debian/libadios2-serial-auxiliary-dev.install	2024-10-12 20:20:05.000000000 +0200
+++ adios2-2.10.1+dfsg1/debian/libadios2-serial-auxiliary-dev.install	2024-11-17 13:57:53.000000000 +0100
@@ -1,5 +1,5 @@
 #!/bin/sh
-for l in atl dill ffs evpath perfstubs; do
+for l in atl dill ffs evpath perfstubs h5vol; do
   echo install-serial/usr/lib/${DEB_HOST_GNU_TYPE}/libadios2_serial_${l}.so  usr/lib/${DEB_HOST_GNU_TYPE}
 done
 echo install-serial/usr/lib/${DEB_HOST_GNU_TYPE}/cmake/adios2/serial/thirdparty usr/lib/${DEB_HOST_GNU_TYPE}/cmake/adios2/serial
diff -Nru adios2-2.10.1+dfsg1/debian/patches/fix_h5vol_library.patch adios2-2.10.1+dfsg1/debian/patches/fix_h5vol_library.patch
--- adios2-2.10.1+dfsg1/debian/patches/fix_h5vol_library.patch	1970-01-01 01:00:00.000000000 +0100
+++ adios2-2.10.1+dfsg1/debian/patches/fix_h5vol_library.patch	2024-11-17 13:57:53.000000000 +0100
@@ -0,0 +1,18 @@
+Index: adios2/source/h5vol/CMakeLists.txt
+===================================================================
+--- adios2.orig/source/h5vol/CMakeLists.txt
++++ adios2/source/h5vol/CMakeLists.txt
+@@ -43,6 +43,13 @@ else()
+   target_link_libraries(adios2_h5vol PRIVATE adios2::c)
+ endif()
+ 
++# Set library version information
++set_target_properties(adios2_h5vol PROPERTIES
++  OUTPUT_NAME adios2${ADIOS2_LIBRARY_SUFFIX}_h5vol
++  VERSION ${ADIOS2_LIBRARY_VERSION}
++  SOVERSION ${ADIOS2_LIBRARY_SOVERSION}
++)
++
+ # VOL install should only contain the .so and no headers
+ install(TARGETS adios2_h5vol
+   RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
diff -Nru adios2-2.10.1+dfsg1/debian/patches/multiple_python_versions.patch adios2-2.10.1+dfsg1/debian/patches/multiple_python_versions.patch
--- adios2-2.10.1+dfsg1/debian/patches/multiple_python_versions.patch	2024-10-12 20:20:05.000000000 +0200
+++ adios2-2.10.1+dfsg1/debian/patches/multiple_python_versions.patch	2024-11-17 13:57:53.000000000 +0100
@@ -1,7 +1,7 @@
-Index: adios2/bindings/CMakeLists.txt
+Index: adios2-2.10.1+dfsg1/bindings/CMakeLists.txt
 ===================================================================
---- adios2.orig/bindings/CMakeLists.txt	2024-09-07 10:34:14.068238876 +0200
-+++ adios2/bindings/CMakeLists.txt	2024-09-07 10:34:14.064238838 +0200
+--- adios2-2.10.1+dfsg1.orig/bindings/CMakeLists.txt
++++ adios2-2.10.1+dfsg1/bindings/CMakeLists.txt
 @@ -3,8 +3,19 @@
  # accompanying file Copyright.txt for details.
  #------------------------------------------------------------------------------#
@@ -24,15 +24,16 @@
  endif()
  
  if(ADIOS2_HAVE_Fortran)
-Index: adios2/bindings/Python/CMakeLists.txt
+Index: adios2-2.10.1+dfsg1/bindings/Python/CMakeLists.txt
 ===================================================================
---- adios2.orig/bindings/Python/CMakeLists.txt	2024-09-07 10:34:14.068238876 +0200
-+++ adios2/bindings/Python/CMakeLists.txt	2024-09-07 10:35:00.572674138 +0200
-@@ -1,4 +1,11 @@
+--- adios2-2.10.1+dfsg1.orig/bindings/Python/CMakeLists.txt
++++ adios2-2.10.1+dfsg1/bindings/Python/CMakeLists.txt
+@@ -1,4 +1,12 @@
 -Python_add_library(adios2_py MODULE
 +# If a specific Python version should be used, it will be defined in ADIOS2_Python_Version.txt
 +if(EXISTS ${CMAKE_CURRENT_LIST_DIR}/ADIOS2_Python_Version.txt)
 +  file(READ ${CMAKE_CURRENT_LIST_DIR}/ADIOS2_Python_Version.txt PYVER)
++  include(${PROJECT_SOURCE_DIR}/cmake/DetectPythonOptions.cmake)
 +endif()
 +
 +include(${PROJECT_SOURCE_DIR}/cmake/ADIOSFunctions.cmake)
@@ -41,7 +42,7 @@
    WITH_SOABI
    py11ADIOS.cpp
    py11IO.cpp
-@@ -9,9 +16,9 @@
+@@ -9,9 +17,9 @@ Python_add_library(adios2_py MODULE
    py11Query.cpp
    py11glue.cpp
  )
@@ -53,7 +54,7 @@
      py11ADIOSMPI.cpp
      py11IOMPI.cpp
    )
-@@ -23,7 +30,7 @@
+@@ -23,7 +31,7 @@ else()
    set(maybe_adios2_core_mpi)
    set(maybe_mpi4py)
  endif()
@@ -62,7 +63,7 @@
    ${maybe_adios2_cxx11_mpi} adios2_cxx11
    ${maybe_adios2_core_mpi} adios2_core
    adios2::thirdparty::pybind11
-@@ -35,7 +42,7 @@
+@@ -35,7 +43,7 @@ configure_file(
    @ONLY
  )
  
@@ -71,7 +72,7 @@
    CXX_VISIBILITY_PRESET hidden
    OUTPUT_NAME adios2_bindings${ADIOS2_LIBRARY_SUFFIX}
    ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_PYTHON_OUTPUT_DIRECTORY}/adios2/bindings
-@@ -52,14 +59,14 @@
+@@ -52,14 +60,14 @@ endif()
  
  string(REGEX REPLACE "[^/]+" ".." relative_base "${install_location}/bindings")
  if(CMAKE_SYSTEM_NAME MATCHES "Linux")
@@ -89,10 +90,10 @@
  )
  install(FILES ${CMAKE_PYTHON_OUTPUT_DIRECTORY}/adios2/bindings/__init__.py
    DESTINATION ${install_location}/bindings
-Index: adios2/cmake/DetectPythonOptions.cmake
+Index: adios2-2.10.1+dfsg1/cmake/DetectPythonOptions.cmake
 ===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ adios2/cmake/DetectPythonOptions.cmake	2024-09-07 10:34:14.064238838 +0200
+--- /dev/null
++++ adios2-2.10.1+dfsg1/cmake/DetectPythonOptions.cmake
 @@ -0,0 +1,89 @@
 +#------------------------------------------------------------------------------#
 +# Distributed under the OSI-approved Apache License, Version 2.0.  See
@@ -183,11 +184,11 @@
 +    ${PROJECT_BINARY_DIR}/${CMAKE_INSTALL_PYTHONDIR}
 +  )
 +endif()
-Index: adios2/cmake/DetectOptions.cmake
+Index: adios2-2.10.1+dfsg1/cmake/DetectOptions.cmake
 ===================================================================
---- adios2.orig/cmake/DetectOptions.cmake	2024-09-07 10:34:14.068238876 +0200
-+++ adios2/cmake/DetectOptions.cmake	2024-09-07 10:34:14.064238838 +0200
-@@ -393,53 +393,53 @@
+--- adios2-2.10.1+dfsg1.orig/cmake/DetectOptions.cmake
++++ adios2-2.10.1+dfsg1/cmake/DetectOptions.cmake
+@@ -393,53 +393,53 @@ if(NOT SHARED_LIBS_SUPPORTED)
    endif()
  endif()
  
@@ -286,11 +287,11 @@
  
  # Sst
  if(ADIOS2_USE_SST AND NOT WIN32)
-Index: adios2/testing/adios2/engine/CMakeLists.txt
+Index: adios2-2.10.1+dfsg1/testing/adios2/engine/CMakeLists.txt
 ===================================================================
---- adios2.orig/testing/adios2/engine/CMakeLists.txt	2024-09-07 10:34:14.068238876 +0200
-+++ adios2/testing/adios2/engine/CMakeLists.txt	2024-09-07 10:34:14.064238838 +0200
-@@ -13,7 +13,9 @@
+--- adios2-2.10.1+dfsg1.orig/testing/adios2/engine/CMakeLists.txt
++++ adios2-2.10.1+dfsg1/testing/adios2/engine/CMakeLists.txt
+@@ -13,7 +13,9 @@ if(ADIOS2_HAVE_HDF5)
    add_subdirectory(hdf5)
  endif()
  
@@ -301,10 +302,10 @@
    add_subdirectory(dataman)
  endif()
  
-Index: adios2/testing/adios2/bindings/CMakeLists.txt
+Index: adios2-2.10.1+dfsg1/testing/adios2/bindings/CMakeLists.txt
 ===================================================================
---- adios2.orig/testing/adios2/bindings/CMakeLists.txt	2024-09-07 10:34:14.068238876 +0200
-+++ adios2/testing/adios2/bindings/CMakeLists.txt	2024-09-07 10:34:14.064238838 +0200
+--- adios2-2.10.1+dfsg1.orig/testing/adios2/bindings/CMakeLists.txt
++++ adios2-2.10.1+dfsg1/testing/adios2/bindings/CMakeLists.txt
 @@ -3,7 +3,9 @@
  # accompanying file Copyright.txt for details.
  #------------------------------------------------------------------------------#
@@ -316,24 +317,23 @@
    add_subdirectory(python)
  endif()
  
-Index: adios2/CMakeLists.txt
+Index: adios2-2.10.1+dfsg1/CMakeLists.txt
 ===================================================================
---- adios2.orig/CMakeLists.txt	2024-09-07 10:34:14.068238876 +0200
-+++ adios2/CMakeLists.txt	2024-09-07 10:34:14.064238838 +0200
-@@ -192,6 +192,12 @@
- mark_as_advanced(ADIOS2_Blosc2_PREFER_SHARED)
+--- adios2-2.10.1+dfsg1.orig/CMakeLists.txt
++++ adios2-2.10.1+dfsg1/CMakeLists.txt
+@@ -193,6 +193,11 @@ mark_as_advanced(ADIOS2_Blosc2_PREFER_SH
  mark_as_advanced(ADIOS2_USE_PIP)
  include(${PROJECT_SOURCE_DIR}/cmake/DetectOptions.cmake)
-+include(${PROJECT_SOURCE_DIR}/cmake/DetectPythonOptions.cmake)
-+
+ 
 +if(ADIOS2_Python_Version)
 +    # use the last Python version in the list to run tests
 +    list(GET ADIOS2_Python_Version -1 ADIOS2_Python_Default_Test)
 +endif()
- 
++
  if(ADIOS2_HAVE_CUDA OR ADIOS2_HAVE_Kokkos_CUDA)
      set(CMAKE_CUDA_STANDARD 11)
-@@ -421,6 +427,8 @@
+     set(CMAKE_CUDA_STANDARD_REQUIRED TRUE)
+@@ -421,6 +426,8 @@ message("    include: ${CMAKE_INSTALL_IN
  message("      cmake: ${CMAKE_INSTALL_CMAKEDIR}")
  if(DEFINED CMAKE_INSTALL_PYTHONDIR)
    message("     python: ${CMAKE_INSTALL_PYTHONDIR}")
@@ -342,11 +342,11 @@
  endif()
  message("")
  message("  Features:")
-Index: adios2/thirdparty/CMakeLists.txt
+Index: adios2-2.10.1+dfsg1/thirdparty/CMakeLists.txt
 ===================================================================
---- adios2.orig/thirdparty/CMakeLists.txt	2024-09-07 10:34:14.068238876 +0200
-+++ adios2/thirdparty/CMakeLists.txt	2024-09-07 10:34:14.064238838 +0200
-@@ -48,7 +48,7 @@
+--- adios2-2.10.1+dfsg1.orig/thirdparty/CMakeLists.txt
++++ adios2-2.10.1+dfsg1/thirdparty/CMakeLists.txt
+@@ -48,7 +48,7 @@ if(BUILD_TESTING)
    endif()
  endif()
  
diff -Nru adios2-2.10.1+dfsg1/debian/patches/series adios2-2.10.1+dfsg1/debian/patches/series
--- adios2-2.10.1+dfsg1/debian/patches/series	2024-10-12 20:20:05.000000000 +0200
+++ adios2-2.10.1+dfsg1/debian/patches/series	2024-11-17 13:57:53.000000000 +0100
@@ -12,3 +12,4 @@
 fix_cmake_dill_ffi.patch
 fix_examples_cmake.patch
 fix_example_hello_bpFWriteCRead_PR4239.patch
+fix_h5vol_library.patch

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to