[Pkg-javascript-devel] Bug#996416: nodejs FTCBFS: missing Build-Depends
Helmut Grohne
helmut at subdivi.de
Wed Oct 13 20:56:12 BST 2021
Source: nodejs
Version: 12.22.7~dfsg-1
Tags: patch
User: debian-cross at lists.debian.org
Usertags: ftcbfs
Control: block -1 by 996415
Thank you for applying my last patch and to Bastien for improving upon
it. That route seemed broken to me when I submitted my patch, but diving
deeper into it, it actually looks correct to me. Terminology seems to
be:
gyp | debian
-------+-------
target | host
host | build
Though you cannot use CC_target as most of the code only checks CC.
In any case, I see two major issues. One is mixing up CFLAGS between the
different compilers. Examples:
build | host | issue
------+-------+-------
amd64 | arm64 | aarch64-linux-gnu-gcc -m64
amd64 | s390x | x86_64-linux-gnu-gcc -march=z196
The flags for the different compilers are simply merged and that doesn't
work. I've looked into how to unmess this and given up. No ideas, sorry.
As a notable data point, amd64 -> mips64el is different. Their compiler
flags happen to be compatible and we see a different failure. The amd64
linker fails finding a ton of libraries. That's actually a good sign. A
number of libraries are needed for both architectures but only requested
for one in Build-Depends. The solution is to duplicate them with a
:native annotation. I'm attaching a patch for this.
Do note that this patch will make nodejs cross-bd-uninstallable, because
libnghttp2-dev is needed for both architectures, but not marked
Multi-Arch: same. That's a separate problem reported as #996415. The
patch will not make nodejs natively bd-uninstallable, so it is safe to
apply it now.
Helmut
-------------- next part --------------
diff --minimal -Nru nodejs-12.22.7~dfsg/debian/changelog nodejs-12.22.7~dfsg/debian/changelog
--- nodejs-12.22.7~dfsg/debian/changelog 2021-10-13 00:43:20.000000000 +0200
+++ nodejs-12.22.7~dfsg/debian/changelog 2021-10-13 18:24:43.000000000 +0200
@@ -1,3 +1,10 @@
+nodejs (12.22.7~dfsg-1.1) UNRELEASED; urgency=medium
+
+ * Non-maintainer upload.
+ * Add native build dependencies for cross compiling. (Closes: #-1)
+
+ -- Helmut Grohne <helmut at subdivi.de> Wed, 13 Oct 2021 18:24:43 +0200
+
nodejs (12.22.7~dfsg-1) unstable; urgency=medium
* New upstream version 12.22.7~dfsg
diff --minimal -Nru nodejs-12.22.7~dfsg/debian/control nodejs-12.22.7~dfsg/debian/control
--- nodejs-12.22.7~dfsg/debian/control 2021-10-12 23:44:40.000000000 +0200
+++ nodejs-12.22.7~dfsg/debian/control 2021-10-13 18:24:43.000000000 +0200
@@ -14,13 +14,19 @@
gyp (>= 0.1~svn1773),
jq,
libbrotli-dev,
+ libbrotli-dev:native,
libc-ares-dev (>= 1.14~),
+ libc-ares-dev:native,
libhttp-parser-dev (>= 2.9.2~),
libicu-dev (>= 64.0~),
+ libicu-dev:native,
libkvm-dev [kfreebsd-any],
libnghttp2-dev (>= 1.41.0~),
+ libnghttp2-dev:native,
libssl-dev (>= 1.1.1~),
+ libssl-dev:native,
libuv1-dev (>= 1.33.0~),
+ libuv1-dev:native,
node-acorn (>= 6.2.1~),
openssl (>= 1.1.1~),
pkg-config,
@@ -29,6 +35,7 @@
python3-distutils,
procps,
zlib1g-dev,
+ zlib1g-dev:native,
Build-Depends-Indep: node-js-yaml,
node-marked
Standards-Version: 4.5.1
More information about the Pkg-javascript-devel
mailing list