[med-svn] [Git][med-team/ampliconnoise][master] 6 commits: Fix cross building with openmpi.

Étienne Mollier (@emollier) gitlab at salsa.debian.org
Mon Nov 17 22:30:39 GMT 2025



Étienne Mollier pushed to branch master at Debian Med / ampliconnoise


Commits:
d0bcbc29 by Helmut Grohne at 2025-11-17T23:19:06+01:00
Fix cross building with openmpi.

Signed-off-by: Étienne Mollier <emollier at debian.org>

- - - - -
d11feece by Étienne Mollier at 2025-11-17T23:21:57+01:00
cross.patch: provide a dep3 header.

Gbp-Dch: ignore

- - - - -
79d4d505 by Étienne Mollier at 2025-11-17T23:22:20+01:00
d/watch: convert to v5 Github template.

- - - - -
0158cde8 by Étienne Mollier at 2025-11-17T23:22:46+01:00
d/control: drop redundant Rules-Requires-Root: no.

- - - - -
5903819e by Étienne Mollier at 2025-11-17T23:27:48+01:00
d/copyright: drop the old FSF mail address.

- - - - -
9d3eea89 by Étienne Mollier at 2025-11-17T23:30:09+01:00
d/changelog: ready for upload to unstable.

- - - - -


7 changed files:

- debian/changelog
- debian/control
- debian/copyright
- + debian/patches/cross.patch
- debian/patches/series
- debian/rules
- debian/watch


Changes:

=====================================
debian/changelog
=====================================
@@ -1,3 +1,15 @@
+ampliconnoise (1.29-17) unstable; urgency=medium
+
+  [ Helmut Grohne ]
+  * Fix cross building with openmpi. (Closes: #1107485)
+
+  [ Étienne Mollier ]
+  * d/watch: convert to v5 Github template.
+  * d/control: drop redundant Rules-Requires-Root: no.
+  * d/copyright: drop the old FSF mail address.
+
+ -- Étienne Mollier <emollier at debian.org>  Mon, 17 Nov 2025 23:28:06 +0100
+
 ampliconnoise (1.29-16) unstable; urgency=medium
 
   * Team upload.


=====================================
debian/control
=====================================
@@ -7,12 +7,12 @@ Section: science
 Priority: optional
 Build-Depends: debhelper-compat (= 13),
                libgsl-dev,
-               mpi-default-dev
+               mpi-default-dev,
+               pkgconf,
 Standards-Version: 4.7.2
 Vcs-Browser: https://salsa.debian.org/med-team/ampliconnoise
 Vcs-Git: https://salsa.debian.org/med-team/ampliconnoise.git
 Homepage: https://github.com/lanzen/ampliconnoise
-Rules-Requires-Root: no
 
 Package: ampliconnoise
 Architecture: any


=====================================
debian/copyright
=====================================
@@ -22,9 +22,5 @@ License: GPL-3
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  Lesser General Public License for more details.
  .
- You should have received a copy of the GNU Lesser General Public
- License along with this library ('COPYING'); if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
- .
  The packaging is licensed under GPL version 3
  see `/usr/share/common-licenses/GPL-3'.


=====================================
debian/patches/cross.patch
=====================================
@@ -0,0 +1,96 @@
+Description: Fix cross building with openmpi.
+ ampliconnoise fails to cross build from source as it misses mpi compiler
+ flags. In theory, it uses mpicc, but cross builds override CC with a
+ non-mpi cross compiler and that's where flags go missing. Fundamentally,
+ mpicc and cross building are incompatible. For openmpi, the solution is
+ to use pkgconf, but mpich does not provide mpi-c anymore. I'm proposing
+ a compromise here: Attempt to use pkgconf to add the flags, but do not
+ fail when pkgconf doesn't work (e.g. on 32bit archs that use mpich).
+ Then native building will continue to work everywhere (as it continues
+ to use mpicc) while cross building will work for 64bit targets (where
+ openmpi is used). Cross builds to 32bit architectures remain broken for
+ now.
+Author: Helmut Grohne <helmut at subdivi.de>
+Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1107485
+Forwarded: no
+Reviewed-by: Étienne Mollier <emollier at debian.org>
+Last-Update: 2025-06-07
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+--- ampliconnoise.orig/NDist/makefile
++++ ampliconnoise/NDist/makefile
+@@ -2,7 +2,7 @@
+ CFLAGS += -O3
+ EFLAGS = $(LDFLAGS)
+ EFILE  = NDist
+-LIBS   = -lm  
++LIBS   = -lm $(MPI_LIBS)
+ OBJS   = NDist.o 
+ 
+ $(EFILE) : $(OBJS)
+--- ampliconnoise.orig/PyroDist/makefile
++++ ampliconnoise/PyroDist/makefile
+@@ -2,7 +2,7 @@
+ CFLAGS += -O3
+ EFLAGS = $(LDFLAGS)
+ EFILE  = PyroDist
+-LIBS   = -lm 
++LIBS   = -lm $(MPI_LIBS)
+ OBJS   = PyroDist.o
+ 
+ $(EFILE) : $(OBJS)
+--- ampliconnoise.orig/PyroNoise/makefile
++++ ampliconnoise/PyroNoise/makefile
+@@ -2,7 +2,7 @@
+ CFLAGS += -O3
+ EFLAGS = $(LDFLAGS)
+ EFILE  = PyroNoise
+-LIBS   =  -lm
++LIBS   =  -lm $(MPI_LIBS)
+ OBJS   = PyroNoise.o 
+ 
+ $(EFILE) : $(OBJS)
+--- ampliconnoise.orig/PyroNoiseA/makefile
++++ ampliconnoise/PyroNoiseA/makefile
+@@ -2,7 +2,7 @@
+ CFLAGS += -O3
+ EFLAGS = 
+ EFILE  = PyroNoiseA
+-LIBS   =  -lm
++LIBS   =  -lm $(MPI_LIBS)
+ OBJS   = PyroNoiseA.o 
+ 
+ $(EFILE) : $(OBJS)
+--- ampliconnoise.orig/PyroNoiseM/makefile
++++ ampliconnoise/PyroNoiseM/makefile
+@@ -2,7 +2,7 @@
+ CFLAGS += -O3
+ EFLAGS = $(LDFLAGS)
+ EFILE  = PyroNoiseM
+-LIBS   =  -lm
++LIBS   =  -lm $(MPI_LIBS)
+ OBJS   = PyroNoiseM.o 
+ 
+ $(EFILE) : $(OBJS)
+--- ampliconnoise.orig/SeqDist/makefile
++++ ampliconnoise/SeqDist/makefile
+@@ -2,7 +2,7 @@
+ CFLAGS += -O3
+ EFLAGS = $(LDFLAGS)
+ EFILE  = SeqDist
+-LIBS   = -lm 
++LIBS   = -lm $(MPI_LIBS)
+ OBJS   = SeqDist.o
+ 
+ $(EFILE) : $(OBJS)
+--- ampliconnoise.orig/SeqNoise/makefile
++++ ampliconnoise/SeqNoise/makefile
+@@ -2,7 +2,7 @@
+ CFLAGS += -O3
+ EFLAGS = $(LDFLAGS)
+ EFILE  = SeqNoise
+-LIBS   = -lm 
++LIBS   = -lm $(MPI_LIBS)
+ OBJS   = SeqNoise.o
+ 
+ $(EFILE) : $(OBJS)


=====================================
debian/patches/series
=====================================
@@ -7,3 +7,4 @@ fix_sequence_of_function_definitions.patch
 fix_missing_header.patch
 gcc-14.patch
 gcc-15.patch
+cross.patch


=====================================
debian/rules
=====================================
@@ -5,15 +5,24 @@
 #export DH_VERBOSE=1
 
 include /usr/share/dpkg/architecture.mk
+include /usr/share/dpkg/buildtools.mk
 
 export DEB_BUILD_MAINT_OPTIONS = hardening=+all
 
 # Compensate test result mismatches occurring on i386 only.
 ifeq ($(DEB_HOST_ARCH),i386)
-export DEB_CFLAGS_MAINT_APPEND=-ffloat-store
-export DEB_CXXFLAGS_MAINT_APPEND=-ffloat-store
+DEB_CFLAGS_MAINT_APPEND=-ffloat-store
+DEB_CXXFLAGS_MAINT_APPEND=-ffloat-store
 endif
 
+# mpi-c only works for openmpi and mpicc only works for native builds.
+# With these settings mpich cross builds are broken and everything else works.
+DEB_CFLAGS_MAINT_APPEND += $(shell $(PKG_CONFIG) --cflags mpi-c)
+DEB_CXXFLAGS_MAINT_APPEND += $(shell $(PKG_CONFIG) --cflags mpi-c)
+MPI_LIBS += $(shell $(PKG_CONFIG) --libs mpi-c)
+
+export DEB_CFLAGS_MAINT_APPEND DEB_CXXFLAGS_MAINT_APPEND MPI_LIBS
+
 %:
 	dh $@
 


=====================================
debian/watch
=====================================
@@ -1,3 +1,5 @@
-version=4
+Version: 5
 
-https://github.com/lanzen/ampliconnoise/releases .*/v(\d[\d.-]+)\.(?:tar(?:\.gz|\.bz2)?|tgz)
+Template: Github
+Owner: lanzen
+Project: ampliconnoise



View it on GitLab: https://salsa.debian.org/med-team/ampliconnoise/-/compare/85177490dbe8a3e35082224dd1737f920e1ed750...9d3eea892b22254af42285fafe1411fab37743b3

-- 
View it on GitLab: https://salsa.debian.org/med-team/ampliconnoise/-/compare/85177490dbe8a3e35082224dd1737f920e1ed750...9d3eea892b22254af42285fafe1411fab37743b3
You're receiving this email because of your account on salsa.debian.org.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/debian-med-commit/attachments/20251117/43294757/attachment-0001.htm>


More information about the debian-med-commit mailing list