Re: Single broken package blocks whole package management
On Wed 05 Jan 2022 at 14:32:57 (+0100), 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.
>
> I first wanted to upgrade everything which doesn't causes any
> conflicts, which fails because of problems in wolfram-engine:
>
> root@uranus:~# aptitude safe-upgrade --no-new-installs -RZ
> Resolving dependencies...
> open: 2242; closed: 1906; defer: 121; conflict: 311
> The following packages will be upgraded:
> acl <+36.9 kB> adduser <-222 kB> alacarte <-20.5 kB>
> alsa-utils <+198 kB> aspell-en <+95.2 kB> avahi-daemon <+53.2 kB>
> [...]
> xserver-common <+53.2 kB> xserver-xorg <+1024 B>
> xserver-xorg-input-all <+1024 B> xterm <+163 kB>
> The following partially installed packages will be configured:
> debconf-utils
> The following packages are RECOMMENDED but will NOT be installed:
> at-spi2-core bsd-mailx cinnamon dunst exfat-utils fonts-piboto
> gdisk gnome-accessibility-themes gnome-flashback gnome-screenshot
> [...]
> xfce4-notifyd xfonts-base xserver-xorg-input-wacom
> xserver-xorg-legacy
> 663 packages upgraded, 0 newly installed, 0 to remove and 344 not upgraded.
> Need to get 0 B/283 MB of archives. After unpacking 89.8 MB will be used.
> 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.
> Extracting templates from packages: 100%
> Preconfiguring packages ...
> 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:
>
> root@uranus:~#
Debian buster here.
$ ls -l /usr/share/perl5/Debconf/Question.pm
-rw-r--r-- 1 root root 5867 Oct 1 04:39 /usr/share/perl5/Debconf/Question.pm
$
$ grep -A1 -B1 '(\\\\)' /usr/share/perl5/Debconf/Question.pm
my $escape;
while ($rest =~ m/^(.*?)(\\)?\$\{([^{}]+)\}(.*)$/sg) {
$result.=$1; # copy anything before the variable
$
So edit /usr/share/perl5/Debconf/Question.pm and insert a \ before
the {, just as the message indicates.
> 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
>
> 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:
>
> root@uranus:~#
>
> What else can I do to get the package management working again?
Cheers,
David.
Reply to: