<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote gmail_quote_container"><div dir="ltr" class="gmail_attr">Le mer. 21 mai 2025 à 11:10, Jérémy Lal <<a href="mailto:kapouer@melix.org">kapouer@melix.org</a>> a écrit :<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Le mer. 21 mai 2025 à 10:00, Daniel Richard G. <<a href="mailto:skunk@iskunk.org" target="_blank">skunk@iskunk.org</a>> a écrit :<br></div><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>
<br>
The nodejs and libnode115 packages have dependencies on node-corepack<br>
and node-minimatch, respectively. The latter two are "Architecture:<br>
all". However, the dependency appears to be implicitly on native-arch<br>
versions of the packages, rather than the "all" ones. I encountered this<br>
issue in a somewhat unusual scenario:<br>
<br>
I am running a Docker container of debian:unstable for armhf, using<br>
qemu-user on an amd64 system. For speed, I am replacing several armhf<br>
packages in the container with their amd64 equivalents, after running<br>
"dpkg --add-architecture amd64". One of these packages is nodejs.<br>
<br>
To illustrate the problem, I first install the two dependency packages.<br>
(Note that nodejs is also pulled in, specifically nodejs:armhf):<br>
<br>
+ apt-get -y install node-corepack node-minimatch<br>
Reading package lists...<br>
Building dependency tree...<br>
Reading state information...<br>
The following additional packages will be installed:<br>
libcares2 libicu76 libnode115 libuv1t64 node-acorn node-balanced-match<br>
node-brace-expansion node-cjs-module-lexer node-undici node-xtend nodejs<br>
nodejs-doc<br>
Suggested packages:<br>
npm<br>
The following NEW packages will be installed:<br>
libcares2 libicu76 libnode115 libuv1t64 node-acorn node-balanced-match<br>
node-brace-expansion node-cjs-module-lexer node-corepack node-minimatch<br>
node-undici node-xtend nodejs nodejs-doc<br>
0 upgraded, 14 newly installed, 0 to remove and 2 not upgraded.<br>
Need to get 27.5 MB of archives.<br>
After this operation, 110 MB of additional disk space will be used.<br>
[...]<br>
<br>
<br>
Now, I install the amd64 build of nodejs:<br>
<br>
+ apt-get -y install nodejs:amd64<br>
Reading package lists...<br>
Building dependency tree...<br>
Reading state information...<br>
Solving dependencies...<br>
Some packages could not be installed. This may mean that you have<br>
requested an impossible situation or if you are using the unstable<br>
distribution that some required packages have not yet been created<br>
or been moved out of Incoming.<br>
The following information may help to resolve the situation:<br>
<br>
The following packages have unmet dependencies:<br>
nodejs:amd64 : Depends: libnode115:amd64 (= 20.19.2+dfsg-1) but it is not going to be installed<br>
Depends: node-corepack:amd64 but it is not installable<br>
E: Unable to correct problems, you have held broken packages.<br>
E: The following information from --solver 3.0 may provide additional context:<br>
Unable to satisfy dependencies. Reached two conflicting decisions:<br>
1. nodejs:amd64=20.19.2+dfsg-1 is selected for install<br>
2. nodejs:amd64 Depends node-corepack:amd64<br>
but none of the choices are installable:<br>
[no choices]<br>
<br>
<br>
There is no node-corepack:amd64, of course, and node-corepack:all is<br>
already installed.<br>
<br>
I worked around the error by building a metapackage with<br>
"Provides: node-corepack:amd64 (= 9.9.9)", and then I get this:<br>
<br>
+ apt-get -y install nodejs:amd64<br>
Reading package lists...<br>
Building dependency tree...<br>
Reading state information...<br>
Solving dependencies...<br>
Some packages could not be installed. This may mean that you have<br>
requested an impossible situation or if you are using the unstable<br>
distribution that some required packages have not yet been created<br>
or been moved out of Incoming.<br>
The following information may help to resolve the situation:<br>
<br>
The following packages have unmet dependencies:<br>
libnode115:amd64 : Depends: node-minimatch:amd64 (>= 9.0.3-5) but it is not installable<br>
E: Unable to correct problems, you have held broken packages.<br>
E: The following information from --solver 3.0 may provide additional context:<br>
Unable to satisfy dependencies. Reached two conflicting decisions:<br>
1. libnode115:amd64 is selected for install because:<br>
1. nodejs:amd64=20.19.2+dfsg-1 is selected for install<br>
2. nodejs:amd64 Depends libnode115:amd64 (= 20.19.2+dfsg-1)<br>
2. libnode115:amd64 Depends node-minimatch:amd64 (>= 9.0.3-5)<br>
but none of the choices are installable:<br>
[no choices]<br>
<br>
Once I Provides: the two ersatz packages, I am able to install<br>
nodejs:amd64 without issue.</blockquote><div><br></div><div><br></div><div>I don't understand - at all - how those Arch: all packages (node-minimatch, node-corepack) became Arch: amd64 on your system.</div><div>For example, node-corepack:amd64 never existed.</div><div>It is probably an issue with Multiarch flags, but I need help on this.</div></div></div></blockquote><div><br></div><div><a href="https://launchpad.net/ubuntu/plucky/+package/node-corepack">https://launchpad.net/ubuntu/plucky/+package/node-corepack</a></div><div>doesn't mention any Arch: all version of the package.</div><div>I suppose Ubuntu did things differently ?</div><div><br></div></div></div>