Hi,

Le 2024-10-26 19:30, Stefano Rivera a écrit :
CMake Error:
  Running

'/usr/bin/ninja' '-C' '/<<PKGBUILDDIR>>/build-serial' '-t' 'recompact'

  failed with:

ninja: error: build.ninja:5098: multiple rules generate lib/python3/dist-packages/adios2/bindings/adios2_bindings_serial.cpython-312-aarch64-linux-gnu.so

Here is a patch proposal. Please review it as I'm not sure about the h5vol part.

Thanks,
_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
 ===================================================================
---- 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.orig/bindings/CMakeLists.txt
++++ adios2/bindings/CMakeLists.txt
 @@ -3,8 +3,19 @@
  # accompanying file Copyright.txt for details.
  #------------------------------------------------------------------------------#
@@ -26,13 +26,15 @@
  if(ADIOS2_HAVE_Fortran)
 Index: adios2/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.orig/bindings/Python/CMakeLists.txt
++++ adios2/bindings/Python/CMakeLists.txt
+@@ -1,4 +1,13 @@
 -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)
++  set(Python_EXECUTABLE /usr/bin/python${PYVER})
++  find_package(Python COMPONENTS Interpreter Development)
 +endif()
 +
 +include(${PROJECT_SOURCE_DIR}/cmake/ADIOSFunctions.cmake)
@@ -41,7 +43,7 @@
    WITH_SOABI
    py11ADIOS.cpp
    py11IO.cpp
-@@ -9,9 +16,9 @@
+@@ -9,9 +18,9 @@ Python_add_library(adios2_py MODULE
    py11Query.cpp
    py11glue.cpp
  )
@@ -53,7 +55,7 @@
      py11ADIOSMPI.cpp
      py11IOMPI.cpp
    )
-@@ -23,7 +30,7 @@
+@@ -23,7 +32,7 @@ else()
    set(maybe_adios2_core_mpi)
    set(maybe_mpi4py)
  endif()
@@ -62,7 +64,7 @@
    ${maybe_adios2_cxx11_mpi} adios2_cxx11
    ${maybe_adios2_core_mpi} adios2_core
    adios2::thirdparty::pybind11
-@@ -35,7 +42,7 @@
+@@ -35,7 +44,7 @@ configure_file(
    @ONLY
  )
  
@@ -71,7 +73,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 +61,14 @@ endif()
  
  string(REGEX REPLACE "[^/]+" ".." relative_base "${install_location}/bindings")
  if(CMAKE_SYSTEM_NAME MATCHES "Linux")
@@ -91,8 +93,8 @@
    DESTINATION ${install_location}/bindings
 Index: adios2/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/cmake/DetectPythonOptions.cmake
 @@ -0,0 +1,89 @@
 +#------------------------------------------------------------------------------#
 +# Distributed under the OSI-approved Apache License, Version 2.0.  See
@@ -185,9 +187,9 @@
 +endif()
 Index: adios2/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.orig/cmake/DetectOptions.cmake
++++ adios2/cmake/DetectOptions.cmake
+@@ -393,53 +393,53 @@ if(NOT SHARED_LIBS_SUPPORTED)
    endif()
  endif()
  
@@ -288,9 +290,9 @@
  if(ADIOS2_USE_SST AND NOT WIN32)
 Index: adios2/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.orig/testing/adios2/engine/CMakeLists.txt
++++ adios2/testing/adios2/engine/CMakeLists.txt
+@@ -13,7 +13,9 @@ if(ADIOS2_HAVE_HDF5)
    add_subdirectory(hdf5)
  endif()
  
@@ -303,8 +305,8 @@
  
 Index: adios2/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.orig/testing/adios2/bindings/CMakeLists.txt
++++ adios2/testing/adios2/bindings/CMakeLists.txt
 @@ -3,7 +3,9 @@
  # accompanying file Copyright.txt for details.
  #------------------------------------------------------------------------------#
@@ -318,9 +320,9 @@
  
 Index: adios2/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 @@
+--- adios2.orig/CMakeLists.txt
++++ adios2/CMakeLists.txt
+@@ -192,6 +192,12 @@ option(ADIOS2_Blosc2_PREFER_SHARED "Pref
  mark_as_advanced(ADIOS2_Blosc2_PREFER_SHARED)
  mark_as_advanced(ADIOS2_USE_PIP)
  include(${PROJECT_SOURCE_DIR}/cmake/DetectOptions.cmake)
@@ -333,7 +335,7 @@
  
  if(ADIOS2_HAVE_CUDA OR ADIOS2_HAVE_Kokkos_CUDA)
      set(CMAKE_CUDA_STANDARD 11)
-@@ -421,6 +427,8 @@
+@@ -421,6 +427,8 @@ message("    include: ${CMAKE_INSTALL_IN
  message("      cmake: ${CMAKE_INSTALL_CMAKEDIR}")
  if(DEFINED CMAKE_INSTALL_PYTHONDIR)
    message("     python: ${CMAKE_INSTALL_PYTHONDIR}")
@@ -344,9 +346,9 @@
  message("  Features:")
 Index: adios2/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.orig/thirdparty/CMakeLists.txt
++++ adios2/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