Your message dated Fri, 06 Dec 2019 22:21:22 +0000
with message-id <[email protected]>
and subject line Bug#943311: fixed in hyphy 2.5.1+dfsg-1
has caused the Debian Bug report #943311,
regarding hyphy: please add pkg-config to Build-Depends for cross compilation
to be marked as done.
This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.
(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)
--
943311: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=943311
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Source: hyphy
Version: 2.3.14+dfsg-2
Tags: patch
User: [email protected]
Usertags: ftcbfs
hyphy fails to cross build from source, because it fails finding mpi.
This happens, because cmake's FindMPI.cmake uses compiler wrappers such
as mpicc to discover mpi. Such compiler wrappers cannot work at all for
cross building and they will not be supported on Debian at all. Beyond
breaking cross compilation, compiler wrappers become a pain when you
need two of them (e.g. ccache/distcc/mpicc/...). As such they should be
avoided and the natural solution for this case is using pkg-config,
which is well-supported by all major mpi providers since ages. Making
FindMPI.cmake use pkg-config is a separate issue outside the scope of
hyphy and there will be a separate bug about that. However, hyphy needs
to depend on pkg-config. Therefore, please add pkg-config to
Build-Depends. You can make this dependency conditional to cross
compilation by annotating it with <cross> if you like, because we'll
keep using mpicc for the native case. I don't think the unconditional
dependency hurts. Please consider applying the attached patch and
understand that it is only half of the picture: The required changes to
cmake are still to be filed. Applying this patch early will make it
easier to develop the cmake patch. I'm attaching my first draft for
reference only.
Helmut
diff --minimal -Nru hyphy-2.3.14+dfsg/debian/changelog
hyphy-2.3.14+dfsg/debian/changelog
--- hyphy-2.3.14+dfsg/debian/changelog 2019-07-05 15:45:06.000000000 +0200
+++ hyphy-2.3.14+dfsg/debian/changelog 2019-10-23 09:00:30.000000000 +0200
@@ -1,3 +1,11 @@
+hyphy (2.3.14+dfsg-2.1) UNRELEASED; urgency=medium
+
+ * Non-maintainer upload.
+ * Add pkg-config to Build-Depends as FindMPI.cmake will need it for cross
+ compilation. (Closes: #-1)
+
+ -- Helmut Grohne <[email protected]> Wed, 23 Oct 2019 09:00:30 +0200
+
hyphy (2.3.14+dfsg-2) unstable; urgency=medium
[ Saira Hussain ]
diff --minimal -Nru hyphy-2.3.14+dfsg/debian/control
hyphy-2.3.14+dfsg/debian/control
--- hyphy-2.3.14+dfsg/debian/control 2019-07-05 15:45:06.000000000 +0200
+++ hyphy-2.3.14+dfsg/debian/control 2019-10-23 08:19:10.000000000 +0200
@@ -8,7 +8,8 @@
mpi-default-dev,
libcurl4-gnutls-dev | libcurl4-dev,
libssl-dev,
- libsqlite3-dev
+ libsqlite3-dev,
+ pkg-config,
Standards-Version: 4.3.1
Vcs-Browser: https://salsa.debian.org/med-team/hyphy
Vcs-Git: https://salsa.debian.org/med-team/hyphy.git
--- cmake-3.13.4.orig/Modules/FindMPI.cmake
+++ cmake-3.13.4/Modules/FindMPI.cmake
@@ -247,6 +247,7 @@
cmake_policy(SET CMP0057 NEW) # if IN_LIST
include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+include(${CMAKE_CURRENT_LIST_DIR}/FindPkgConfig.cmake)
# Generic compiler names
set(_MPI_C_GENERIC_COMPILER_NAMES mpicc mpcc mpicc_r mpcc_r)
@@ -1459,7 +1460,40 @@
if(NOT MPI_PINNED_COMPILER AND NOT MPI_${LANG}_WRAPPER_FOUND)
# If MPI_PINNED_COMPILER wasn't given, and the MPI compiler we potentially found didn't work, we withdraw it.
set(MPI_${LANG}_COMPILER "MPI_${LANG}_COMPILER-NOTFOUND" CACHE FILEPATH "MPI compiler for ${LANG}" FORCE)
- if(NOT MPI_SKIP_GUESSING)
+
+ if(LANG STREQUAL "C")
+ set(_MPI_PKG "mpi-c")
+ elseif(LANG STREQUAL "CXX")
+ set(_MPI_PKG "mpi-cxx")
+ elseif(LANG STREQUAL "Fortran")
+ set(_MPI_PKG "mpi-fort")
+ else()
+ set(_MPI_PKG "")
+ endif()
+ if(_MPI_PKG)
+ pkg_check_modules("MPI_${LANG}_PKG" "${_MPI_PKG}")
+ if("${MPI_${LANG}_PKG_FOUND}")
+ set(MPI_${LANG}_COMPILE_OPTIONS ${MPI_${LANG}_PKG_CFLAGS} CACHE STRING "MPI ${LANG} compilation options" FORCE)
+ set(MPI_${LANG}_INCLUDE_PATH ${MPI_${LANG}_PKG_INCLUDE_DIRS} CACHE STRING "MPI ${LANG} include directories" FORCE)
+ set(MPI_${LANG}_LINK_FLAGS ${MPI_${LANG}_PKG_LDFLAGS} CACHE STRING "MPI ${LANG} linker flags" FORCE)
+ set(MPI_${LANG}_LIB_NAMES ${MPI_${LANG}_PKG_LIBRARIES} CACHE STRING "MPI ${LANG} libraries to link against" FORCE)
+ foreach(_MPI_LIB IN LISTS MPI_${LANG}_LIB_NAMES)
+ if(_MPI_LIB)
+ get_filename_component(_MPI_PLAIN_LIB_NAME "${_MPI_LIB}" NAME_WE)
+ get_filename_component(_MPI_LIB_NAME "${_MPI_LIB}" NAME)
+ get_filename_component(_MPI_LIB_DIR "${_MPI_LIB}" DIRECTORY)
+ find_library(MPI_${_MPI_PLAIN_LIB_NAME}_LIBRARY
+ NAMES "${_MPI_LIB_NAME}" "lib${_MPI_LIB_NAME}"
+ HINTS ${_MPI_LIB_DIR}
+ DOC "Location of the ${_MPI_PLAIN_LIB_NAME} library for MPI"
+ )
+ mark_as_advanced(MPI_${_MPI_PLAIN_LIB_NAME}_LIBRARY)
+ endif()
+ endforeach()
+ endif()
+ endif()
+
+ if(NOT MPI_SKIP_GUESSING AND NOT "${MPI_${LANG}_PKG_FOUND}")
# For C++, we may use the settings for C. Should a given compiler wrapper for C++ not exist, but one for C does, we copy over the
# settings for C. An MPI distribution that is in this situation would be IBM Platform MPI.
if("${LANG}" STREQUAL "CXX" AND MPI_C_WRAPPER_FOUND)
--- End Message ---
--- Begin Message ---
Source: hyphy
Source-Version: 2.5.1+dfsg-1
We believe that the bug you reported is fixed in the latest version of
hyphy, which is due to be installed in the Debian FTP archive.
A summary of the changes between this version and the previous one is
attached.
Thank you for reporting the bug, which will now be closed. If you
have further comments please address them to [email protected],
and the maintainer will reopen the bug report if appropriate.
Debian distribution maintenance software
pp.
Andreas Tille <[email protected]> (supplier of updated hyphy package)
(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing [email protected])
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
Format: 1.8
Date: Fri, 06 Dec 2019 22:47:47 +0100
Source: hyphy
Binary: hyphy-pt hyphy-mpi hyphy-common
Architecture: source
Version: 2.5.1+dfsg-1
Distribution: unstable
Urgency: medium
Maintainer: Debian Med Packaging Team
<[email protected]>
Changed-By: Andreas Tille <[email protected]>
Description:
hyphy-common - Hypothesis testing using Phylogenies (common files)
hyphy-mpi - Hypothesis testing using Phylogenies (MPI version)
hyphy-pt - Hypothesis testing using Phylogenies (pthreads version)
Closes: 909707 943311
Changes:
hyphy (2.5.1+dfsg-1) unstable; urgency=medium
.
[ Helmut Grohne ]
* Add pkg-config to Build-Depends as FindMPI.cmake will need it for cross
compilation. (Closes: #943311)
.
[ Andreas Tille ]
* New upstream version
* debhelper-compat 12
* Secure URI in copyright format
* Remove trailing whitespace in debian/changelog
* New upstream version
* Standards-Version: 4.4.1
* Use secure URI in Homepage field.
* Remove patches msse_option_only_if_available.patch that are missing
from debian/patches/series.
* Skip GTEST target for the moment since this is currently in flux
see https://github.com/veg/hyphy/issues/1058
* No need to rename executables any more since upstream is doing this now
* Autopkgtest exists since last release - so close bug
Closes: #909707
Checksums-Sha1:
3d2f8e893dfae6d4ba2411ebf456f9d17b39f045 2171 hyphy_2.5.1+dfsg-1.dsc
3e1253bf9f0d2b5537b3dc55e6fe73a75db9e0d2 2899360 hyphy_2.5.1+dfsg.orig.tar.xz
9ed2a9ca4253a5070c66dce7b3769faf620d6ce2 10332 hyphy_2.5.1+dfsg-1.debian.tar.xz
Checksums-Sha256:
0257eb0d590134ace1dff5aa1612b5caca094b6bc11c55a523c31e974f0ebc70 2171
hyphy_2.5.1+dfsg-1.dsc
1ba52718825b34268f9b8ba2e9425f3450f5466750c2dadebc0238385bba989c 2899360
hyphy_2.5.1+dfsg.orig.tar.xz
a8391b2b0acee18ff5650117f5d86bc2e8b1d88c1f685cbc0ffecff72d6dd0f1 10332
hyphy_2.5.1+dfsg-1.debian.tar.xz
Files:
d7ea75f4ba58b7809972de077aa073b4 2171 science optional hyphy_2.5.1+dfsg-1.dsc
512d3dc73c4c5ca19865627ff4317db5 2899360 science optional
hyphy_2.5.1+dfsg.orig.tar.xz
bdc2fab1276a9b2e78c74692c210fdaa 10332 science optional
hyphy_2.5.1+dfsg-1.debian.tar.xz
-----BEGIN PGP SIGNATURE-----
iQJFBAEBCAAvFiEE8fAHMgoDVUHwpmPKV4oElNHGRtEFAl3qzwARHHRpbGxlQGRl
Ymlhbi5vcmcACgkQV4oElNHGRtGgSw//QzWmU0OQl7lBbqIyDJAUojxIUtF3hkvV
jPIn1l6nSuWSFFkSmrI2cru2d+k1JjonxwHTQyGBjcB8TkIjasPT4TmIBXgvbZX9
Gn1JTHW2+p4wfQ7Ecx0IKGRDYsWtGR/hr8WWbTlUuKeH6LdmxOrBB3bcJ3o2ujAg
DsUwTXdM94nQA27s13tSXYzUHr4o9OEOXmGav89L3xRB0vCblLhNphSnd2T3qqZY
at01/9S/O0/i9QRJnM2t/4YBAtYUGqvMlBD99CpJsELiXpmkFPnhBckV30yPRNdF
R4bT7vT6sCveYmxfqsBPKZiVKyhvZMuIIMmhYDiweGXqYFuAgxs6DN0+TRU6qExy
6gAZl+hpY8wcPkfuXsvqr6+6bVt8MqG1Iqum2mX8CDY/urTvl4dHWCtQ0AW6yEoI
MbGdkkT6IflTVbk1zpHf9qD62JZvZJuydILVERtTPAMDDkfNVGLwvnGMvp9oi+zk
dVdfZb3UC8QmjlGl1WulB4XXox6ODlF1QLMI9VtZ6noQrz8PD4E3j68FzDy2hdhF
XYBDkQyOWecwFlJ/q0MNcWW46I7TEpA2kthDjaSva/TUqDD1Hf7C8oEZ0vN2aqfF
wXU7MHWyWdfbTnJIrXmOQw7B5hp40Hrqs3fjN0OQyBqUWXk8f1R7zwms+8cOxDAd
A/xYyx5belg=
=F55d
-----END PGP SIGNATURE-----
--- End Message ---