web-dev-qa-db-fra.com

Comment corriger une erreur avec libc6-dev-armhf-cross dans Ubuntu 18.04 lorsque j'essaye de mettre à niveau?

Aujourd'hui, lors de la tentative de mise à niveau sur la base de la suggestion du logiciel Ubuntu, je vois les erreurs suivantes. C'est la première fois que je vois cette erreur. Mon système 18.04 fonctionne très bien depuis plusieurs mois maintenant.

Toute aide est appréciée.

$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu 
DISTRIB_RELEASE=18.04 
DISTRIB_CODENAME=bionic 
DISTRIB_DESCRIPTION="Ubuntu 18.04.1 LTS"



$ Sudo apt upgrade
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Calculating upgrade... Done
The following packages will be upgraded:
  libc6-armel-cross libc6-armhf-cross libc6-dev-armel-cross libc6-dev-armhf-cross
4 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B/5,871 kB of archives.
After this operation, 0 B of additional disk space will be used.
Do you want to continue? [Y/n] y
(Reading database ... 388166 files and directories currently installed.)
Preparing to unpack .../libc6-dev-armel-cross_2.27-3ubuntu1cross1.1_all.deb ...
Unpacking libc6-dev-armel-cross (2.27-3ubuntu1cross1.1) over (2.27-3ubuntu1cross1) ...
dpkg: error processing archive /var/cache/apt/archives/libc6-dev-armel-cross_2.27-3ubuntu1cross1.1_all.deb (--unpack):
 unable to open '/usr/arm-linux-gnueabi/lib/Mcrt1.o.dpkg-new': No such file or directory
No apport report written because the error message indicates an issue on the local system
                                                                                         Preparing to unpack .../libc6-armel-cross_2.27-3ubuntu1cross1.1_all.deb ...
Unpacking libc6-armel-cross (2.27-3ubuntu1cross1.1) over (2.27-3ubuntu1cross1) ...
dpkg: error processing archive /var/cache/apt/archives/libc6-armel-cross_2.27-3ubuntu1cross1.1_all.deb (--unpack):
 unable to open '/usr/arm-linux-gnueabi/lib/ld-2.27.so.dpkg-new': No such file or directory
No apport report written because the error message indicates an issue on the local system
                                                                                         Preparing to unpack .../libc6-dev-armhf-cross_2.27-3ubuntu1cross1.1_all.deb ...
Unpacking libc6-dev-armhf-cross (2.27-3ubuntu1cross1.1) over (2.27-3ubuntu1cross1) ...
dpkg: error processing archive /var/cache/apt/archives/libc6-dev-armhf-cross_2.27-3ubuntu1cross1.1_all.deb (--unpack):
 unable to open '/usr/arm-linux-gnueabihf/lib/Mcrt1.o.dpkg-new': No such file or directory
No apport report written because the error message indicates an issue on the local system
                                                                                         Preparing to unpack .../libc6-armhf-cross_2.27-3ubuntu1cross1.1_all.deb ...
Unpacking libc6-armhf-cross (2.27-3ubuntu1cross1.1) over (2.27-3ubuntu1cross1) ...
dpkg: error processing archive /var/cache/apt/archives/libc6-armhf-cross_2.27-3ubuntu1cross1.1_all.deb (--unpack):
 unable to open '/usr/arm-linux-gnueabihf/lib/ld-2.27.so.dpkg-new': No such file or directory
No apport report written because MaxReports is reached already
                                                              Errors were encountered while processing:
 /var/cache/apt/archives/libc6-dev-armel-cross_2.27-3ubuntu1cross1.1_all.deb
 /var/cache/apt/archives/libc6-armel-cross_2.27-3ubuntu1cross1.1_all.deb
 /var/cache/apt/archives/libc6-dev-armhf-cross_2.27-3ubuntu1cross1.1_all.deb
 /var/cache/apt/archives/libc6-armhf-cross_2.27-3ubuntu1cross1.1_all.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
20
Urivan Flores

Essayez de réinstaller libc6-dev-armhf-cross (faites de même pour libc6-dev-armel-cross)

Sudo apt remove libc6-dev-armhf-cross suivi de Sudo apt install libc6-dev-armhf-cross

(apt install --reinstall ne semble pas fonctionner)

Notez que l'exécution de Sudo apt remove peut supprimer les packages qui en dépendent. Voir réponse d'Olek Wojnar ci-dessous pour savoir comment faire cela sans supprimer les paquets dépendants

14
Rufus

J'ai pu résoudre ce problème proprement avec une variante de l'approche utilisée par Gen.Stack . Le problème avec la solution acceptée est qu’elle supprime les dépendances des packages en question mais ne les restaure pas. Cette solution évite ce problème.

Tout d’abord, supprimez les packages problématiques et purgez leur configuration sans supprimer les dépendances:

Sudo dpkg -P --force-depends libc6-armel-cross libc6-armhf-cross libc6-dev-armel-cross libc6-dev-armhf-cross

Nettoyez le cache du paquet:

Sudo apt clean

Mettez à jour la liste de paquets:

Sudo apt update

Corrigez les dépendances brisées (devrait installer automatiquement deux des paquets supprimés):

Sudo apt -f install

Enfin, installez les deux paquets restants:

Sudo apt install libc6-dev-armel-cross libc6-dev-armhf-cross

Cela remettra votre système en état de fonctionnement.

32
Olek Wojnar

Pour empêcher la suppression d'un trop grand nombre de dépendances, essayez dpkg -P --force-depends:

dpkg -P --force-depends libc6-armel-cross libc6-armhf-cross libc6-dev-armel-cross libc6-dev-armhf-cross

Puis mettez à jour, récupérez et réinstallez ces paquets:

apt update
[...]
apt clean
apt install libc6-armel-cross libc6-armhf-cross libc6-dev-armel-cross libc6-dev-armhf-cross
Building dependency tree       
Reading state information... Done
After this operation, 0 B of additional disk space will be used.
Get:1 http://en.archive.ubuntu.com/ubuntu bionic-updates/universe AMD64 libc6-armel-cross all 2.27-3ubuntu1cross1.1 [1,031 kB]
Get:2 http://en.archive.ubuntu.com/ubuntu bionic-updates/main AMD64 libc6-armhf-cross all 2.27-3ubuntu1cross1.1 [1,005 kB]
Get:3 http://en.archive.ubuntu.com/ubuntu bionic-updates/universe AMD64 libc6-dev-armel-cross all 2.27-3ubuntu1cross1.1 [1,936 kB]
Get:4 http://en.archive.ubuntu.com/ubuntu bionic-updates/main AMD64 libc6-dev-armhf-cross all 2.27-3ubuntu1cross1.1 [1,899 kB]
Fetched 5,871 kB in 9s (661 kB/s)                                                                                                                                                           
Selecting previously unselected package libc6-armel-cross.
(Reading database ... 760110 files and directories currently installed.)
Preparing to unpack .../libc6-armel-cross_2.27-3ubuntu1cross1.1_all.deb ...
Unpacking libc6-armel-cross (2.27-3ubuntu1cross1.1) ...
dpkg: error processing archive /var/cache/apt/archives/libc6-armel-cross_2.27-3ubuntu1cross1.1_all.deb (--unpack):
 unable to open '/usr/arm-linux-gnueabi/lib/ld-2.27.so.dpkg-new': No such file or directory
No apport report written because the error message indicates an issue on the local system
[...]

Donc, aucune chance de réinstaller ni par --reinstall, ni manuellement avec des dépendances, ni en utilisant dpkg -[P|i] --force-depends.

2018-10-09: Comme ces paquets sont encore endommagés mais qu'aucune mise à jour n'est en vue, je les ai tous supprimés pour pouvoir utiliser apt et (dés) installer des paquets. Quitter le statu quo signifiait ne pas être en mesure d'installer ou de supprimer des paquets. J'utilise des chaînes d'outils installées localement pour répondre à mes besoins.

edit: remarque sur la suppression de tous les packages et dépendances offensants.

1
Gen.Stack

Lorsque vous utilisez la méthode apt remove/install ci-dessus, les dépendances peuvent amener apt à supprimer plus que prévu. Vous devrez peut-être également réinstaller d'autres packages. J'ai également réinstallé le suivant.

Certains d’entre eux seraient déjà automatiquement réinstallés, mais il était plus facile de copier la liste des paquets supprimés et de laisser aptes à déterminer ce qui devait être fait.

Sudo apt-get install \
  g++-7-arm-linux-gnueabihf g++-7-multilib-arm-linux-gnueabihf g++-arm-linux-gnueabihf \
  gcc-7-arm-linux-gnueabihf gcc-7-multilib-arm-linux-gnueabihf gcc-arm-linux-gnueabihf \
  libasan4-armhf-cross libasan4-dbg-armhf-cross libatomic1-armhf-cross libatomic1-dbg-armhf-cross \
  libc6-armel-armhf-cross libc6-armel-cross libc6-armhf-cross libc6-dev-armel-armhf-cross \
  libc6-dev-armel-cross libc6-dev-armhf-cross libcilkrts5-armhf-cross libcilkrts5-dbg-armhf-cross \
  libgcc-7-dev-armhf-cross libgcc1-armhf-cross libgcc1-dbg-armhf-cross libgomp1-armhf-cross \
  libgomp1-dbg-armhf-cross libsfasan4-armhf-cross libsfatomic1-armhf-cross \
  libsfcilkrts5-armhf-cross libsfgcc-7-dev-armhf-cross libsfgcc1-armhf-cross \
  libsfgomp1-armhf-cross libsfstdc++-7-dev-armhf-cross libsfstdc++6-armhf-cross \
  libsfubsan0-armhf-cross libstdc++-7-dev-armhf-cross libstdc++6-7-dbg-armhf-cross \
  libstdc++6-armhf-cross libubsan0-armhf-cross libubsan0-dbg-armhf-cross \
1
John JJ

J'ai résolu l'erreur en utilisant le gestionnaire de paquets synaptic dans Ubuntu 18.04 en supprimant les paquets problamatic et en les réinstallant plus tard.

0
abhi s r