Source: zlib
Version: 1:1.3.dfsg+really1.3.2-3
Tags: patch
User: [email protected]
Usertags: cross-satisfiability

zlib cannot be cross built from source for multilib-enabled
architectures unless adding the nobiarch build profile, because the
dependency on gcc-multilib is not satisfiable. As we do not have a
-for-host variant for this package, we can depend on
gcc-multilib-TRIPLET instead. This is a bit verbose, but we're not
likely to add more multilib architectures, so that feels like a sane
cost. I'm attaching a suitable patch.

This patch is supposed to establish a baseline of cross build support.
Once it is in, we may consider moving away from gcc-multilib. For
instance in a build for i386, we should be able to call
"x86_64-linux-gnu-gcc" instead of "i686-linux-gnu-gcc -m64" if we depend
on "gcc-x86-64-linux-gnu [i386] <!nobiarch>". It is equally verbose, but
removes one multilib user.

Helmut
diff -Nru zlib-1.3.dfsg+really1.3.2/debian/changelog 
zlib-1.3.dfsg+really1.3.2/debian/changelog
--- zlib-1.3.dfsg+really1.3.2/debian/changelog  2026-04-01 23:50:49.000000000 
+0200
+++ zlib-1.3.dfsg+really1.3.2/debian/changelog  2026-07-01 14:49:22.000000000 
+0200
@@ -1,3 +1,10 @@
+zlib (1:1.3.dfsg+really1.3.2-3.1) UNRELEASED; urgency=medium
+
+  * Non-maintainer upload.
+  * Fix cross building for multilib architectures. (Closes: #-1)
+
+ -- Helmut Grohne <[email protected]>  Wed, 01 Jul 2026 14:49:22 +0200
+
 zlib (1:1.3.dfsg+really1.3.2-3) unstable; urgency=low
 
   * Suppress crcvx to fix building of minizip on s390 with patch
diff -Nru zlib-1.3.dfsg+really1.3.2/debian/control 
zlib-1.3.dfsg+really1.3.2/debian/control
--- zlib-1.3.dfsg+really1.3.2/debian/control    2026-03-29 23:52:20.000000000 
+0200
+++ zlib-1.3.dfsg+really1.3.2/debian/control    2026-07-01 14:49:22.000000000 
+0200
@@ -5,7 +5,33 @@
 Standards-Version: 4.6.1
 Homepage: http://zlib.net/
 X-DH-Compat: 14
-Build-Depends: dpkg-dev (>= 1.22.5), debhelper (>= 13), gcc-multilib [amd64 
i386 kfreebsd-amd64 mips mipsel powerpc ppc64 s390 sparc mipsn32 mipsn32el 
mipsr6 mipsr6el mipsn32r6 mipsn32r6el mips64 mips64el mips64r6 mips64r6el x32] 
<!nobiarch>, dpkg-dev (>= 1.16.1), autoconf
+Build-Depends:
+ dpkg-dev (>= 1.22.5),
+ debhelper (>= 13),
+ gcc-multilib [amd64 i386 kfreebsd-amd64 mips mipsel powerpc ppc64 s390 sparc 
mipsn32 mipsn32el mipsr6 mipsr6el mipsn32r6 mipsn32r6el mips64 mips64el 
mips64r6 mips64r6el x32] <!cross !nobiarch>,
+ gcc-multilib-x86-64-linux-gnu [amd64] <cross !nobiarch>,
+ gcc-multilib-x86-64-kfreebsd-gnu [kfreebsd-amd64] <cross !nobiarch>,
+ gcc-multilib-i686-linux-gnu [i386] <cross !nobiarch>,
+ gcc-multilib-mips-linux-gnu [mips] <cross !nobiarch>,
+ gcc-multilib-mipsel-linux-gnu [mipsel] <cross !nobiarch>,
+ gcc-multilib-powerpc-linux-gnu [powerpc] <cross !nobiarch>,
+ gcc-multilib-powerpc64-linux-gnu [powerpc64] <cross !nobiarch>,
+ gcc-multilib-s390-linux-gnu [s390] <cross !nobiarch>,
+ gcc-multilib-sparc-linux-gnu [sparc] <cross !nobiarch>,
+ gcc-multilib-mips64-linux-gnuabin32 [mipsn32] <cross !nobiarch>,
+ gcc-multilib-mips64el-linux-gnuabin32 [mipsn32el] <cross !nobiarch>,
+ gcc-multilib-mips64el-linux-gnuabin32 [mipsn32el] <cross !nobiarch>,
+ gcc-multilib-mipsisa32r6-linux-gnu [mipsr6] <cross !nobiarch>,
+ gcc-multilib-mipsisa32r6el-linux-gnu [mipsr6el] <cross !nobiarch>,
+ gcc-multilib-mipsisa64r6-linux-gnuabin32 [mipsn32r6] <cross !nobiarch>,
+ gcc-multilib-mipsisa64r6el-linux-gnuabin32 [mipsn32r6el] <cross !nobiarch>,
+ gcc-multilib-mips64-linux-gnuabi64 [mips64] <cross !nobiarch>,
+ gcc-multilib-mips64el-linux-gnuabi64 [mips64el] <cross !nobiarch>,
+ gcc-multilib-mipsisa64r6-linux-gnuabi64 [mips64r6] <cross !nobiarch>,
+ gcc-multilib-mipsisa64r6el-linux-gnuabi64 [mips64r6el] <cross !nobiarch>,
+ gcc-multilib-x86-64-linux-gnux32 [x32] <cross !nobiarch>,
+ dpkg-dev (>= 1.16.1),
+ autoconf
 
 Package: zlib1g
 Architecture: any

Reply via email to