Package: nodejs
Version: 20.19.2+dfsg-1
The nodejs and libnode115 packages have dependencies on node-corepack
and node-minimatch, respectively. The latter two are "Architecture:
all". However, the dependency appears to be implicitly on native-arch versions of the packages, rather than the "all" ones. I encountered this issue in a somewhat unusual scenario:
I am running a Docker container of debian:unstable for armhf, using
qemu-user on an amd64 system. For speed, I am replacing several armhf packages in the container with their amd64 equivalents, after running
"dpkg --add-architecture amd64". One of these packages is nodejs.
To illustrate the problem, I first install the two dependency packages.
(Note that nodejs is also pulled in, specifically nodejs:armhf):
+ apt-get -y install node-corepack node-minimatch
Reading package lists...
Building dependency tree...
Reading state information...
The following additional packages will be installed:
libcares2 libicu76 libnode115 libuv1t64 node-acorn node-balanced-match
node-brace-expansion node-cjs-module-lexer node-undici node-xtend nodejs
nodejs-doc
Suggested packages:
npm
The following NEW packages will be installed:
libcares2 libicu76 libnode115 libuv1t64 node-acorn node-balanced-match
node-brace-expansion node-cjs-module-lexer node-corepack node-minimatch
node-undici node-xtend nodejs nodejs-doc
0 upgraded, 14 newly installed, 0 to remove and 2 not upgraded.
Need to get 27.5 MB of archives.
After this operation, 110 MB of additional disk space will be used.
[...]
Now, I install the amd64 build of nodejs:
+ apt-get -y install nodejs:amd64
Reading package lists...
Building dependency tree...
Reading state information...
Solving dependencies...
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
nodejs:amd64 : Depends: libnode115:amd64 (= 20.19.2+dfsg-1) but it is not going to be installed
Depends: node-corepack:amd64 but it is not installable
E: Unable to correct problems, you have held broken packages.
E: The following information from --solver 3.0 may provide additional context:
Unable to satisfy dependencies. Reached two conflicting decisions:
1. nodejs:amd64=20.19.2+dfsg-1 is selected for install
2. nodejs:amd64 Depends node-corepack:amd64
but none of the choices are installable:
[no choices]
There is no node-corepack:amd64, of course, and node-corepack:all is
already installed.
I worked around the error by building a metapackage with
"Provides: node-corepack:amd64 (= 9.9.9)", and then I get this:
+ apt-get -y install nodejs:amd64
Reading package lists...
Building dependency tree...
Reading state information...
Solving dependencies...
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
libnode115:amd64 : Depends: node-minimatch:amd64 (>= 9.0.3-5) but it is
not installable
E: Unable to correct problems, you have held broken packages.
E: The following information from --solver 3.0 may provide additional context:
Unable to satisfy dependencies. Reached two conflicting decisions:
1. libnode115:amd64 is selected for install because:
1. nodejs:amd64=20.19.2+dfsg-1 is selected for install
2. nodejs:amd64 Depends libnode115:amd64 (= 20.19.2+dfsg-1)
2. libnode115:amd64 Depends node-minimatch:amd64 (>= 9.0.3-5)
but none of the choices are installable:
[no choices]
Once I Provides: the two ersatz packages, I am able to install
nodejs:amd64 without issue.
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Package: nodejs<br>Version: 20.19.2+dfsg-1<br>
(Apologies, didn't see your second message before my previous reply)
On Wed, 2025 May 21 05:13-04:00, Jérémy Lal wrote:
https://launchpad.net/ubuntu/plucky/+package/node-corepack
doesn't mention any Arch: all version of the package.
I suppose Ubuntu did things differently ?
I filed a similar bug in Launchpad that I (coincidentally) encountered
on plucky:
https://bugs.launchpad.net/bugs/2111189
There, only node-minimatch was an issue, because Ubuntu's nodejs package
has no dependency on node-corepack.
But their node-corepack package is also "Arch: all" like Debian's:
https://packages.ubuntu.com/plucky/node-corepack
The arch specifiers on the page you linked seem to describe the build systems, although I don't see why they'd need more than one build of
that package...
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">(Apologies, didn't see your second message before my previous reply)<br>
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 491 |
Nodes: | 16 (2 / 14) |
Uptime: | 139:31:12 |
Calls: | 9,693 |
Calls today: | 3 |
Files: | 13,728 |
Messages: | 6,178,101 |