[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: