Re: Single broken package blocks whole package management
On Thu, Jan 06, 2022 at 03:20:38AM +1300, Richard Hector wrote:
> On 6/01/22 02:32, Urs Thuermann wrote:
> > After an dist-upgrade from Raspian 8 (jessie) to 9.13 (stretch)
> > hundreds of packages still need to be upgraded and aptitude reports
> > numerous conflicts.
>
> Firstly, the standard response is that Raspbian is not Debian :-) There are
> differences which might be related to your problem.
>
Raspbian _isn't_ Debian. Wolfram-engine is a third party (commercial) app -
Wolfram Mathematica which the Raspberry Pi foundation licences with a
special educational arrangement.
You might be able to force a reinstall of wolfram-engine to produce
something consistent to then remove but this is probably wasted
effort.
Rather than trying to update from 8 to 9, unless you have significant
data invested, I would suggest simply downloading a copy of the latest
release of Raspberry Pi OS based on Debian 11.
Although I can guarantee that Debian should be upgradable between major
releases, I can't be sure for other Debian derivatives.
As ever, for Debian: https://wiki.debian.org/DontBreakDebian
Debian installers which will install something closer to vanilla Debian
are available - but don't include Wolfram's software. They're unofficial
in that they're dependnet on non-free software to install. See
https://cdimage.debian.org/cdimage/unofficial/raspi/
Quickest solution: install Raspberry Pi OS latest version - available
from https://www.raspberrypi.com/software/
With every good wish, as ever,
Andy Cater
> > I first wanted to upgrade everything which doesn't causes any
> > conflicts, which fails because of problems in wolfram-engine:
>
> wolfram-engine appears not to be a debian package, for starters.
>
> [snip]
>
> > Unescaped left brace in regex is deprecated, passed through in regex; marked by <-- HERE in m/^(.*?)(\\)?\${ <-- HERE ([^{}]+)}(.*)$/ at /usr/share/perl5/Debconf/Question.pm line 72.
> > Unescaped left brace in regex is deprecated, passed through in regex; marked by <-- HERE in m/\${ <-- HERE ([^}]+)}/ at /usr/share/perl5/Debconf/Config.pm line 30.
>
> Looks bad, but deprecation isn't an error.
>
> [snip]
>
> > dpkg: unrecoverable fatal error, aborting:
> > files list file for package 'wolfram-engine' contains empty filename
> > E: Sub-process /usr/bin/dpkg returned an error code (2)
> > Failed to perform requested operation on package. Trying to recover:
>
> Ah. So perhaps a bug in that package. Or it's corrupted.
>
> If you look at /var/lib/dpkg/info/wolfram-engine.list does it have an empty
> line in it? What happens if you edit that out?
>
> >
> > root@uranus:~#
> >
> > I tried to remove packages wolfram-engine and wolframscript, also
> > tried to remove debconf-utils, but everything fails with the same
> > error message:
> >
> > root@uranus:~# dpkg --force-all -P wolfram-engine
> > dpkg: unrecoverable fatal error, aborting:
> > files list file for package 'wolfram-engine' contains empty filename
>
> Same thing
>
> >
> > Also, upgrading a single package that's completely unrelated, is not
> > possible:
> >
> > root@uranus:~# aptitude install acl
> > The following packages will be upgraded:
> > acl libacl1
> > The following partially installed packages will be configured:
> > debconf-utils{b}
> > 2 packages upgraded, 0 newly installed, 0 to remove and 1005 not upgraded.
> > Need to get 0 B/80.7 kB of archives. After unpacking 49.2 kB will be used.
> > The following packages have unmet dependencies:
> > debconf-utils : Depends: debconf (= 1.5.61) but 1.5.56+deb8u1 is installed and it is kept back.
> > The following actions will resolve these dependencies:
> >
> > Remove the following packages:
> > 1) debconf-utils
> >
> >
> >
> > Accept this solution? [Y/n/q/?]
> > The following packages will be REMOVED:
> > debconf-utils{a}
> > The following packages will be upgraded:
> > acl libacl1
> > 2 packages upgraded, 0 newly installed, 1 to remove and 1005 not upgraded.
> > Need to get 0 B/80.7 kB of archives. After unpacking 58.4 kB will be freed.
> > Do you want to continue? [Y/n/?]
> > Reading changelogs... Done
> > Unescaped left brace in regex is deprecated, passed through in regex; marked by <-- HERE in m/^(.*?)(\\)?\${ <-- HERE ([^{}]+)}(.*)$/ at /usr/share/perl5/Debconf/Question.pm line 72.
> > Unescaped left brace in regex is deprecated, passed through in regex; marked by <-- HERE in m/\${ <-- HERE ([^}]+)}/ at /usr/share/perl5/Debconf/Config.pm line 30.
> > dpkg: unrecoverable fatal error, aborting:
> > files list file for package 'wolfram-engine' contains empty filename
> > E: Sub-process /usr/bin/dpkg returned an error code (2)
> > Failed to perform requested operation on package. Trying to recover:
>
> Still comes back to the same thing.
> >
> > root@uranus:~#
> > What else can I do to get the package management working again?
>
> I'd try deleting any blank lines from that file, and trying again.
>
> Or maybe apt-get install --reinstall wolfram-engine
>
> Or ask on a Raspbian list :-)
>
> A related question here:
>
> https://unix.stackexchange.com/questions/425355/x11-common-contains-empty-filename
>
> Cheers,
> Richard
>
Reply to: