Bug#1125445: quickjs FTCBFS: Passes host flags to the build compiler
Helmut Grohne
helmut at subdivi.de
Mon Jan 12 11:15:00 GMT 2026
Source: quickjs
Version: 2025.04.26-1
Tags: patch
User: debian-cross at lists.debian.org
Usertags: ftcbfs
quickjs fails to cross build from source, because it passes host
architecture compiler flags to the build architecture compiler. Before
we go deeper let me point out that the Debian (and GNU) terminology does
not line up with the terminology used by the upstream project. What
Debian calls "host", does not bear a name or prefix at the upstream
project and what Debian calls "build" is called "host" upstream.
While the upstream Makefile already distinguishes those two compiler
executables, it does not yet distinguish the compiler and linker flags
passed to either of them yet. Since Debian passes architecture-dependent
flags (e.g. for amd64 and arm64), this now fails. I propose adding new
variables (HOST_CFLAGS and HOST_LDFLAGS matching the upstream
terminology) and providing them from the packaging to achieve proper
separation.
Please find a patch attached for your convenience and consider
upstreaming the contained cross.patch file.
Helmut
-------------- next part --------------
diff -Nru quickjs-2025.04.26/debian/changelog quickjs-2025.04.26/debian/changelog
--- quickjs-2025.04.26/debian/changelog 2025-05-03 17:18:27.000000000 +0200
+++ quickjs-2025.04.26/debian/changelog 2026-01-12 11:51:58.000000000 +0100
@@ -1,3 +1,10 @@
+quickjs (2025.04.26-1.1) UNRELEASED; urgency=medium
+
+ * Non-maintainer upload.
+ * Fix FTCBFS: Don't pass host flags to a build compiler. (Closes: #-1)
+
+ -- Helmut Grohne <helmut at subdivi.de> Mon, 12 Jan 2026 11:51:58 +0100
+
quickjs (2025.04.26-1) unstable; urgency=medium
* new upstream version
diff -Nru quickjs-2025.04.26/debian/patches/cross.patch quickjs-2025.04.26/debian/patches/cross.patch
--- quickjs-2025.04.26/debian/patches/cross.patch 1970-01-01 01:00:00.000000000 +0100
+++ quickjs-2025.04.26/debian/patches/cross.patch 2026-01-12 11:51:58.000000000 +0100
@@ -0,0 +1,31 @@
+--- quickjs-2025.04.26.orig/Makefile
++++ quickjs-2025.04.26/Makefile
+@@ -187,6 +187,10 @@
+ LDEXPORT=-rdynamic
+ endif
+
++HOST_CFLAGS ?= $(CFLAGS)
++HOST_CFLAGS += $(DEFINES)
++HOST_LDFLAGS ?= $(LDFLAGS)
++
+ ifndef CONFIG_COSMO
+ ifndef CONFIG_DARWIN
+ CONFIG_SHARED_LIBS=y # building shared libraries is supported
+@@ -267,7 +271,7 @@
+
+ $(QJSC): $(OBJDIR)/qjsc.host.o \
+ $(patsubst %.o, %.host.o, $(QJS_LIB_OBJS))
+- $(HOST_CC) $(LDFLAGS) -o $@ $^ $(HOST_LIBS)
++ $(HOST_CC) $(HOST_LDFLAGS) -o $@ $^ $(HOST_LIBS)
+
+ endif #CROSS_PREFIX
+
+@@ -322,7 +326,7 @@
+ $(CC) $(CFLAGS_OPT) -c -I. -o $@ $<
+
+ $(OBJDIR)/%.host.o: %.c | $(OBJDIR)
+- $(HOST_CC) $(CFLAGS_OPT) -c -o $@ $<
++ $(HOST_CC) $(HOST_CFLAGS) -c -o $@ $<
+
+ $(OBJDIR)/%.pic.o: %.c | $(OBJDIR)
+ $(CC) $(CFLAGS_OPT) -fPIC -DJS_SHARED_LIBRARY -c -o $@ $<
diff -Nru quickjs-2025.04.26/debian/patches/series quickjs-2025.04.26/debian/patches/series
--- quickjs-2025.04.26/debian/patches/series 2025-05-03 17:18:27.000000000 +0200
+++ quickjs-2025.04.26/debian/patches/series 2026-01-12 11:47:34.000000000 +0100
@@ -1,2 +1,3 @@
enable_multiarch_build
fix_armel_build
+cross.patch
diff -Nru quickjs-2025.04.26/debian/rules quickjs-2025.04.26/debian/rules
--- quickjs-2025.04.26/debian/rules 2025-05-03 17:18:27.000000000 +0200
+++ quickjs-2025.04.26/debian/rules 2026-01-12 11:51:58.000000000 +0100
@@ -12,6 +12,8 @@
# the Makefile uses the cross-prefix in a non-standard way, so "enforce" it:
export CROSS_PREFIX=$(DEB_HOST_GNU_TYPE)-
+export HOST_LDFLAGS=$(LDFLAGS_FOR_BUILD)
+export HOST_CFLAGS=$(CFLAGS_FOR_BUILD)
%:
dh $@
More information about the Pkg-a11y-devel
mailing list