web-dev-qa-db-fra.com

libglib2.0-0 cassé

J'ai accidentellement cassé libbglib2.0-0 en essayant d'installer une nouvelle version du paquet Debian. Maintenant je ne peux plus rien faire.

Voici ce que j'ai fait:

Sudo dpkg -i libglib*.deb
(Reading database ... 503232 files and directories currently installed.)
Preparing to replace libglib2.0-0 2.30.0-0ubuntu4 (using libglib2.0-0_2.33.12+really2.32.4-5_AMD64.deb) ...
De-configuring libglib2.0-0:i386 ...
Unpacking replacement libglib2.0-0 ...
dpkg: error processing libglib2.0-0 (--install):
 libglib2.0-0:AMD64 2.33.12+really2.32.4-5 cannot be configured because libglib2.0-0:i386 is in a different version (2.30.0-0ubuntu4)
dpkg: error processing libglib2.0-0:i386 (--install):
 libglib2.0-0:i386 2.30.0-0ubuntu4 cannot be configured because libglib2.0-0:AMD64 is in a different version (2.33.12+really2.32.4-5)
Errors were encountered while processing:
 libglib2.0-0
 libglib2.0-0:i386

-

Sudo apt-get -f install
Readingpackage lists... Done
Building dependency tree       
Reading state information... Done
Correcting dependencies... failed.
The following packages have unmet dependencies:
 libglib2.0-0 : Depends: libffi5 (>= 3.0.4) but it is not installable
                Breaks: libglib2.0-0:i386 (!= 2.33.12+really2.32.4-5) but 2.30.0-0ubuntu4 is installed
 libglib2.0-0:i386 : Breaks: libglib2.0-0 (!= 2.30.0-0ubuntu4) but 2.33.12+really2.32.4-5 is installed
 libglib2.0-bin : Depends: libglib2.0-0 (= 2.30.0-0ubuntu4) but 2.33.12+really2.32.4-5 is installed
 libglib2.0-dev : Depends: libglib2.0-0 (= 2.30.0-0ubuntu4) but 2.33.12+really2.32.4-5 is installed
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.
E: Unable to correct dependencies

-

Sudo apt-get install libglib2.0-0
Reading package lists... Done
Building dependency tree       
Reading state information... Done
libglib2.0-0 is already the newest version.
You might want to run 'apt-get -f install' to correct these:
The following packages have unmet dependencies:
 libglib2.0-0 : Depends: libffi5 (>= 3.0.4) but it is not installable
                Breaks: libglib2.0-0:i386 (!= 2.33.12+really2.32.4-5) but 2.30.0-0ubuntu4 is to be installed
 libglib2.0-0:i386 : Breaks: libglib2.0-0 (!= 2.30.0-0ubuntu4) but 2.33.12+really2.32.4-5 is to be installed
 libglib2.0-bin : Depends: libglib2.0-0 (= 2.30.0-0ubuntu4) but 2.33.12+really2.32.4-5 is to be installed
 libglib2.0-dev : Depends: libglib2.0-0 (= 2.30.0-0ubuntu4) but 2.33.12+really2.32.4-5 is to be installed
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).

Que fais-je? À peu près tout dépend de glib.

Edit: J'ai essayé ce que le premier commentateur a dit et j'ai obtenu ce résultat:

Sudo apt-get install -f libglib2.0-0=2.30.0-0ubuntu4
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following package was automatically installed and is no longer required:
  libpanel-applet-4-0
Use 'apt-get autoremove' to remove them.
The following packages will be DOWNGRADED:
  libglib2.0-0
0 upgraded, 0 newly installed, 1 downgraded, 0 to remove and 1 not upgraded.
3 not fully installed or removed.
Need to get 0 B/1,169 kB of archives.
After this operation, 265 kB disk space will be freed.
Do you want to continue [Y/n]? y
dpkg: warning: downgrading libglib2.0-0 from 2.33.12+really2.32.4-5 to 2.30.0-0ubuntu4.
(Reading database ... 503237 files and directories currently installed.)
Preparing to replace libglib2.0-0 2.33.12+really2.32.4-5 (using .../libglib2.0-0_2.30.0-0ubuntu4_AMD64.deb) ...
Unpacking replacement libglib2.0-0 ...
dpkg: error processing /var/cache/apt/archives/libglib2.0-0_2.30.0-0ubuntu4_AMD64.deb (--unpack):
 './usr/share/doc/libglib2.0-0/README.gz' is different from the same file on the system
dpkg-deb: error: subprocess paste was killed by signal (Broken pipe)
Errors were encountered while processing:
 /var/cache/apt/archives/libglib2.0-0_2.30.0-0ubuntu4_AMD64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
1
Makaze

Comme gertvdijk l'a souligné dans son commentaire:

Essayez: Sudo apt-get install -f libglib2.0-0=2.30.0-0ubuntu4 (faisant allusion à apt-get sur la version régulière d'Ubuntu)

Cela semblait déclasser le package comme prévu, mais s'est ensuite trompé:

Unpacking replacement libglib2.0-0 ...
dpkg: error processing /var/cache/apt/archives/libglib2.0-0_2.30.0-0ubuntu4_AMD64.deb (--unpack):
 './usr/share/doc/libglib2.0-0/README.gz' is different from the same file on the system
dpkg-deb: error: subprocess paste was killed by signal (Broken pipe)
Errors were encountered while processing:
 /var/cache/apt/archives/libglib2.0-0_2.30.0-0ubuntu4_AMD64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

La solution consiste à supprimer le fichier incriminé et à le répéter pour quelques autres dans les tentatives suivantes. Au final, le package a été rétrogradé avec succès vers la version Ubuntu!

1
Makaze