<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Le lun. 20 déc. 2021 à 21:11, J. William Campbell <<a href="mailto:jwilliamcampbell@comcast.net">jwilliamcampbell@comcast.net</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>
<div>Hi Jérémy,</div>
<div> Thank you for your very prompt
reply. I will reply in line to your responses.<br>
</div>
<div><br>
</div>
<div>On 12/20/2021 11:14 AM, Jérémy Lal
wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr">
<div>hello,</div>
<div><br>
</div>
<div>NB: i am going to reply below, in chronological order.</div>
<div>Please adopt the same style in future emails.</div>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">Le lun. 20 déc. 2021
à 19:48, J. William Campbell <<a href="mailto:jwilliamcampbell@comcast.net" target="_blank">jwilliamcampbell@comcast.net</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: 12.22.5~dfsg-2~11u1<br>
Severity: important<br>
X-Debbugs-Cc: <a href="mailto:jwilliamcampbell@comcast.net" target="_blank">jwilliamcampbell@comcast.net</a><br>
<br>
Dear Maintainer,<br>
<br>
I attempted to install package nodejs on an Intel processor
that does not<br>
support sse2 instructions. The library dependencies for
nodejs require<br>
the sse2 support. It is unclear to me why nodejs itself
would require<br>
such support, but in any case installing nodejs requires
package<br>
sse2-support, which will always fail to install on older
CPUs. This in<br>
itself, while disappointing, isn't a problem.</blockquote>
<div><br>
</div>
<div>Indeed, nodejs embeds another software (v8) that needs a
lot of</div>
<div>work for each architecture. Authors of v8 decided to
simplify their</div>
<div>work by supporting only a subset of available processors.</div>
<div><br>
</div>
<div>To make sure, you can double-check that nodejs as
distributed by</div>
<div>their authors, does indeed *not* run on your system, by
trying their</div>
<div>own debian package, see instructions at:</div>
<div><a href="https://github.com/nodesource/distributions" target="_blank">https://github.com/nodesource/distributions</a><br>
</div>
<div><br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">However, this failure
occurs<br>
fairly deep in the installation of packages. The result a
package with<br>
dependencies that cannot be statisfied. --fix-broken is of
course unable to<br>
do so, because sse2-support will never install.<br>
</blockquote>
<div><br>
</div>
<div>Yes, you cannot install sse2-support on a system that
doesn't support sse2.</div>
<div>This is by design.</div>
</div>
</div>
</blockquote>
Indeed it is by design. However, that design has serious drawbacks
😁.
<blockquote type="cite">
<div dir="ltr">
<div class="gmail_quote">
<div><br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">I now have a broken apt
configuration that I have been unable to fix. I<br>
cannot remove/purge nodejs because of the unmet dependencies
and I<br>
cannot meet them because the required package will not ever
install.<br>
</blockquote>
<div><br>
</div>
<div>I'm not sure that you have a problem with nodejs debian
package here.</div>
<div>It looks, from the description of your problem, that you
don't know how to</div>
<div>deal with apt in that case. </div>
<div>You should seek some help on that front.</div>
</div>
</div>
</blockquote>
I have, at least in so far as lots of Google searches. Basically, I
have got nowhere. The "normal" way to correct missing dependencies
is to find a package that satisfies those dependencies and install
it. This approach works even when your intention is to subsequently
purge the package that caused the problem in the first place, but
ONLY if you find and install such a package. Since sse2-support is
designed to not install in this case, you can't ever do so. There
are lots of attempts to solve similar problems by various
combinations of approaches. None of them seem to work in this case.
If you have a pointer to a method that will reliably remove packages
with unmet dependencies, I would appreciate it.<br>
<blockquote type="cite">
<div dir="ltr">
<div class="gmail_quote">
<div><br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
This is a serious annoyance. The package sse2-support is
present only to<br>
cause the install of the package to fail. It provides no
code. A possible<br>
fix would be to allow the user to force sse2-support to
install in order to<br>
satisfy the dependencies so that the package nodejs will not
be broken.<br>
The user can then remove nodejs or go ahead with the
understanding that if<br>
sse2 instructions in the library are actually used a fault
will occur. The<br>
documentation does not warn that nodejs requires
sse2-support, but even<br>
if it did it is probable this fact would be unclear to many
users.<br>
<br>
What I expected is that nodejs would install without
problems, and that<br>
if it did not it would not leave the package management on
my Debian<br>
system basically inoperative. That is where I am now, and I
have been unable<br>
to find a solution.<br>
</blockquote>
<div><br>
</div>
<div>I repeat here: on a i686 non-sse2 platform, you can't
install nodejs.</div>
<div>However, i hear you, there should be a more explicit way
of failing installation</div>
<div>of a package that is not available for a given processor.</div>
</div>
</div>
</blockquote>
<p>Indeed. Right now sse2-support pops up a failure screen informing
you that your processor doesn't support the required instructions
and returns an error code indicating the package was not
installed. IMHO a better approach would be to throw the error but
allow the user to proceed anyway (return a "success" code) by
responding to a prompt. The user has been told the software won't
work, so he has no right to expect it will. However, if the
package is installed one can remove nodejs without problems. I
understand that it might be real hard to "walk back" all the
things that were already installed before the problem was
detected. For that reason, a "work around" would be appropriate.</p></div></blockquote><div><br></div><div>Now i think the problem you see comes from sse2-support package.</div><div>That bad a user experience is probably a bug somewhere.</div><div>Let's see what their maintainer think about it (cc-ing them).</div><div><br></div><div>Jérémy</div></div></div>