Package: nasm
Version: 2.16.01-1
Tags: patch
User: debian-cr...@lists.debian.org
Usertags: ftcbfs
Control: affects -1 + src:libjpeg-turbo

libjpeg-turbo cannot be cross built for multiple reasons. Initially its
Build-Depends are not cross-satisfiable. Once you get past this, you
notice that it fails running nasm with an "Exec format error". Usually,
this means that a package (nasm) was installed for the wrong
architecture. The common solution is marking the package (nasm)
Multi-Arch: foreign. It is not so clear that such a marking is correct
though. The marking is a strong promise on the interface being
independent of the architecture of the package. However, nasm's package
description says that it is an x86 assembler, so that part of the
architecture is kinda implied in the interface. I also tried cross
building (a modified) nasm from arm64 to both amd64 and i386 with a
native nasm and that part worked in both cases. As such, I am inclined
to say that Multi-Arch: foreign actually is correct just as
binutils-x86-64-linux-gnu is Multi-Arch: foreign. Consider applying the
attached patch.

Helmut
diff --minimal -Nru nasm-2.16.01/debian/changelog nasm-2.16.01/debian/changelog
--- nasm-2.16.01/debian/changelog       2022-12-30 22:55:58.000000000 +0100
+++ nasm-2.16.01/debian/changelog       2023-12-14 16:30:01.000000000 +0100
@@ -1,3 +1,10 @@
+nasm (2.16.01-1.1) UNRELEASED; urgency=medium
+
+  * Non-maintainer upload.
+  * Mark nasm Multi-Arch: foreign. (Closes: #-1)
+
+ -- Helmut Grohne <hel...@subdivi.de>  Thu, 14 Dec 2023 16:30:01 +0100
+
 nasm (2.16.01-1) unstable; urgency=medium
 
   * New upstream release
diff --minimal -Nru nasm-2.16.01/debian/control nasm-2.16.01/debian/control
--- nasm-2.16.01/debian/control 2022-12-30 02:52:32.000000000 +0100
+++ nasm-2.16.01/debian/control 2023-12-14 16:29:59.000000000 +0100
@@ -20,6 +20,7 @@
 
 Package: nasm
 Architecture: any
+Multi-Arch: foreign
 Depends:
  dpkg (>= 1.15.4) | install-info,
  ${misc:Depends},

Reply via email to