[Pkg-javascript-devel] Bug#1106209: Bug#1106209: Incorrect dependencies on two "Architecture: all" packages

Jérémy Lal kapouer at melix.org
Wed May 21 10:10:50 BST 2025


Le mer. 21 mai 2025 à 10:00, Daniel Richard G. <skunk at iskunk.org> a écrit :

> 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.



I don't understand - at all - how those Arch: all packages (node-minimatch,
node-corepack) became Arch: amd64 on your system.
For example, node-corepack:amd64 never existed.
It is probably an issue with Multiarch flags, but I need help on this.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/pkg-javascript-devel/attachments/20250521/dd16a569/attachment.htm>


More information about the Pkg-javascript-devel mailing list