Comment puis-je corriger une erreur avec libc6-dev-armhf-cross dans Ubuntu 18.04 lors d'une tentative de mise à niveau d'apt?

22

Aujourd'hui, lors de la tentative de mise à niveau basée sur 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)
Urivan Flores
la source
Quelque chose ne fonctionne pas avec certains packages téléchargés. Essayez d'exécuter sudo apt clean, puis réexécutez la mise à niveau.
Kristopher Ives
1
J'ai essayé de vider le cache des packages et de télécharger à nouveau les packages, mais le même problème est apparu.
Urivan Flores

Réponses:

16

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

sudo apt remove libc6-dev-armhf-cross suivi par sudo apt install libc6-dev-armhf-cross

(apt install --reinstall ne semble pas fonctionner)

Notez que l'exécution sudo apt removepeut supprimer les packages qui en dépendent. Voir la réponse d'Olek Wojnar ci-dessous sur la façon de procéder sans supprimer les packages dépendants

Rufus
la source
Salut Woofas, j'ai également essayé --reinstall mais je ne pensais pas qu'il y aurait une différence avec remove and install. Je viens d'essayer et maintenant il s'installe correctement. Merci!
Urivan Flores
1
Cela a presque fonctionné pour moi, j'ai dû supprimer tout cela - puis réinstallerlibc6-dev-armhf-cross libc6-armel-cross libc6-dev-armel-cross libc6-armhf-cross
AT
1
Vous devrez peut-être réinstaller d'autres packages qui sont supprimés en raison de dépendances, telles que gcc, voir mon article ci-dessous.
John JJ
Comme l'a dit John, vous devez prendre en compte les packages supprimés. Jetez un oeil à ma réponse pour une façon assez propre de prendre soin de cela.
Olek Wojnar
37

J'ai pu résoudre proprement ce problème avec une variation 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 parvient pas à les restaurer. Cette solution empêche 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 package:

sudo apt clean

Mettez à jour la liste des packages:

sudo apt update

Correction des dépendances cassées (devrait installer automatiquement deux des packages supprimés):

sudo apt -f install

Enfin, installez les deux packages restants:

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

Cela ramènera votre système en état de marche.

Olek Wojnar
la source
3
fonctionne bien. pour une mise à niveau d'ubuntu 14.04 vers ubuntu 18.04
ravi.zombie
3
Merci, j'ai également résolu le même problème Ubuntu 14.04, 16.04 à 18.04.
minish
2
Incroyable. Mon gestionnaire de paquets était tellement cassé après la mise à niveau d'Ubuntu 16.04 vers 18.04. J'ai essayé tout ce que la ligne de commande recommandait et diverses autres solutions en ligne. Celui-ci semble avoir parfaitement fonctionné. Merci Olek Wojnar !!
evanrmurphy
1
J'adore une bonne solution bien conçue qui fonctionne! Merci.
Qui
1

Lorsque vous utilisez la méthode apt remove / install ci-dessus, les dépendances peuvent entraîner la suppression d'apt plus que vous ne le souhaitez. Vous devrez peut-être également réinstaller d'autres packages. J'ai également réinstallé les éléments suivants.

Certains d'entre eux seraient déjà réinstallés automatiquement, mais il était plus facile de copier la liste des packages supprimés et de laisser apt 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 \
John JJ
la source
J'aime que vous ayez identifié le problème des dépendances supprimées dans votre réponse. Malheureusement, votre solution marquerait tous ces packages comme installés manuellement et ils ne seraient donc pas supprimés automatiquement s'ils ne sont pas nécessaires à l'avenir.
Olek Wojnar
1

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

Ensuite, mettez à jour, récupérez et installez à nouveau ces packages:

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, pas de chance de réinstaller ni par --reinstallni manuellement avec des dépendances ni en utilisantdpkg -[P|i] --force-depends .

09-10-2018: Comme ces packages sont toujours cassés mais sans mise à jour en vue, je les ai tous supprimés pour pouvoir utiliser apt pour (dé) installer des packages. Sortir du statu quo signifiait ne pas pouvoir installer ou supprimer des packages. 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 incriminés.

Gen.Stack
la source
@Olek: Thx pour l'édition. Mais non, ça ne marche pas pour moi. C'est pourquoi j'ai quitté le poste comme je l'ai fait. Même maintenant, avec votre modification, cela ne me fournit pas de solution à ce problème. Pourriez-vous annuler votre modification, s'il vous plaît? THX.
Gen.Stack
Étrange que cela n'ait pas fonctionné sur votre machine. J'ai eu exactement le même problème et ma solution l'a résolu. Sur la base de la façon dont apt fonctionne, je ne comprends vraiment pas pourquoi cela ne fonctionnerait pas pour vous. Peut-être y a-t-il un autre problème en jeu pour vous? En tout cas, j'ai créé ma propre réponse. Bonne chance pour régler vos problèmes!
Olek Wojnar
@OlekWojnar oui, c'est étrange. J'ignore les raisons sous-jacentes à partir de maintenant. Je ne creuserai pas plus profondément car j'ai eu l'autre chaîne d'outils, pas besoin de stock. Si un jour je réalise comment résoudre ce problème, je le mettrai à jour. thx
Gen.Stack
0

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

abhi sr
la source
-1

J'ai la même erreur lors de l'installation libc6-dev-armel-cross_2.27-3ubuntu1cross1.1_all.debet du libc6-armel-cross_2.27-3ubuntu1cross1.1_all.debpackage, et je lance

apt -f install 

n'a pas fonctionné. J'ai téléchargé le libc6-dev-armel-cross_2.27-3ubuntu1cross1_all.deb and libc6-armel-cross_2.27-3ubuntu1cross1_all.debdepuis le miroir des packages Ubuntu et je les installe avec

dpkg -i *.deb 

et cela a résolu mon problème.

Patrick
la source
Merci Patrick, comme Woofas l'a mentionné, apt remove and install a résolu le problème.
Urivan Flores