Bug#940664: combblas FTCBFS: uses mpicc
Helmut Grohne
helmut at subdivi.de
Wed Sep 18 19:03:20 BST 2019
Source: combblas
Version: 1.6.2-4
Tags: patch
User: debian-cross at lists.debian.org
Usertags: ftcbfs
combblas fails to cross build from source, because it uses mpicc. mpicc
is unfixable for cross compilation and the only way to make cross
building work is not using mpicc. Fortunately, much of combblas already
uses pkg-config for discovering mpi already. It's just two
subdirectories that fail to propagate the relevant compiler flags. After
doing so, there is no need to use mpicc anymore. Please consider
applying the attached patch.
Helmut
-------------- next part --------------
diff --minimal -Nru combblas-1.6.2/debian/changelog combblas-1.6.2/debian/changelog
--- combblas-1.6.2/debian/changelog 2019-09-14 16:43:46.000000000 +0200
+++ combblas-1.6.2/debian/changelog 2019-09-18 19:30:51.000000000 +0200
@@ -1,3 +1,10 @@
+combblas (1.6.2-4.1) UNRELEASED; urgency=medium
+
+ * Non-maintainer upload.
+ * Improve cross building: Don't use mpicc. (Closes: #-1)
+
+ -- Helmut Grohne <helmut at subdivi.de> Wed, 18 Sep 2019 19:30:51 +0200
+
combblas (1.6.2-4) unstable; urgency=medium
* Standards-Version: 4.4.0
diff --minimal -Nru combblas-1.6.2/debian/patches/mpi.patch combblas-1.6.2/debian/patches/mpi.patch
--- combblas-1.6.2/debian/patches/mpi.patch 1970-01-01 01:00:00.000000000 +0100
+++ combblas-1.6.2/debian/patches/mpi.patch 2019-09-18 19:30:51.000000000 +0200
@@ -0,0 +1,20 @@
+--- combblas-1.6.2.orig/graph500-1.2/generator/CMakeLists.txt
++++ combblas-1.6.2/graph500-1.2/generator/CMakeLists.txt
+@@ -3,6 +3,7 @@
+ ADD_LIBRARY( GraphGenlib btrd_binomial_distribution.c splittable_mrg.c mrg_transitions.c graph_generator.c permutation_gen.c make_graph.c utils.c scramble_edges.c)
+ target_include_directories(GraphGenlib PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include> $<INSTALL_INTERFACE:include>)
+ target_include_directories(GraphGenlib PRIVATE include/graph500/generator)
++target_include_directories(GraphGenlib PUBLIC "${MPI_C_INCLUDE_PATH}")
+ if(CMAKE_C_COMPILER_ID STREQUAL "Intel")
+ target_compile_options(GraphGenlib PRIVATE "-restrict")
+ endif()
+--- combblas-1.6.2.orig/usort/CMakeLists.txt
++++ combblas-1.6.2/usort/CMakeLists.txt
+@@ -3,6 +3,7 @@
+ ADD_LIBRARY( Usortlib src/parUtils.cpp src/binUtils.cpp )
+ target_include_directories(Usortlib PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include> $<INSTALL_INTERFACE:include>)
+ target_include_directories(Usortlib PRIVATE include/usort)
++target_include_directories(Usortlib PUBLIC "${MPI_C_INCLUDE_PATH}")
+
+ install(DIRECTORY include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
+ install(TARGETS Usortlib EXPORT CombBLASTargets
diff --minimal -Nru combblas-1.6.2/debian/patches/series combblas-1.6.2/debian/patches/series
--- combblas-1.6.2/debian/patches/series 2019-09-14 16:43:46.000000000 +0200
+++ combblas-1.6.2/debian/patches/series 2019-09-18 19:30:51.000000000 +0200
@@ -1,2 +1,3 @@
cmake_multiarch.patch
sublibs_soname.patch
+mpi.patch
diff --minimal -Nru combblas-1.6.2/debian/rules combblas-1.6.2/debian/rules
--- combblas-1.6.2/debian/rules 2019-09-14 16:43:46.000000000 +0200
+++ combblas-1.6.2/debian/rules 2019-09-18 19:30:51.000000000 +0200
@@ -30,8 +30,6 @@
dh_auto_configure -- \
-DBUILD_SHARED_LIBS=ON \
-DCMAKE_SKIP_RPATH=ON \
- -DCMAKE_C_COMPILER=mpicc \
- -DCMAKE_CXX_COMPILER=mpic++ \
-DMPIEXEC_PREFLAGS=--allow-run-as-root
tar xzf debian/testdata_combblas*.tgz -C $(BUILDDIR)
More information about the debian-science-maintainers
mailing list