Come posso correggere un errore con libc6-dev-armhf-cross in Ubuntu 18.04 quando provo ad aggiornare apt?


22

Oggi mentre provo ad aggiornare in base al suggerimento del software Ubuntu, vedo i seguenti errori. Questa è la prima volta che vedo questo errore. Il mio sistema 18.04 funziona bene da molti mesi ormai.

Qualsiasi aiuto è apprezzato.

$ 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)

Qualcosa sembra sbagliato con alcuni pacchetti scaricati. Prova a eseguire, sudo apt cleanquindi esegui nuovamente l'aggiornamento.
Kristopher Ives,

1
Ho provato a svuotare la cache dei pacchetti e a scaricare di nuovo i pacchetti, tuttavia si è verificato lo stesso problema.
Urivan Flores,

Risposte:


16

Prova a reinstallare libc6-dev-armhf-cross(fai lo stesso per libc6-dev-armel-cross)

sudo apt remove libc6-dev-armhf-cross seguito da sudo apt install libc6-dev-armhf-cross

( apt install --reinstallnon sembra funzionare)

Si noti che l'esecuzione sudo apt removepuò rimuovere i pacchetti dipendenti da esso. Vedi la risposta di Olek Wojnar di seguito su come eseguire questa operazione senza rimuovere i pacchetti dipendenti


Ciao Woofas, ho anche provato - reinstall ma non pensavo che ci sarebbe stata una differenza nel rimuovere e installare. Ho appena provato e ora si sta installando correttamente. Grazie!
Urivan Flores,

1
Questo ha funzionato quasi per me, ho dovuto rimuovere tutti questi - quindi reinstallarelibc6-dev-armhf-cross libc6-armel-cross libc6-dev-armel-cross libc6-armhf-cross
AL

1
Potrebbe essere necessario reinstallare altri pacchetti che vengono rimossi a causa di dipendenze, come gcc, vedere il mio post di seguito.
John JJ,

Come ha detto John, è necessario tenere conto dei pacchetti rimossi. Dai un'occhiata alla mia risposta per un modo abbastanza pulito di occuparmene.
Olek Wojnar,

37

Sono stato in grado di risolvere chiaramente questo problema con una variazione dell'approccio utilizzato da Gen.Stack . Il problema con la soluzione accettata è che rimuove le dipendenze dei pacchetti in questione ma non riesce a ripristinarle. Questa soluzione impedisce questo problema.

Innanzitutto, rimuovi i pacchetti problematici ed elimina la loro configurazione senza rimuovere le dipendenze:

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

Pulisci la cache del pacchetto:

sudo apt clean

Aggiorna l'elenco dei pacchetti:

sudo apt update

Correggi dipendenze interrotte (dovrebbe installare automaticamente due dei pacchetti rimossi):

sudo apt -f install

Infine, installa i restanti due pacchetti:

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

Ciò riporterà il sistema in ordine.


3
funziona bene. per un aggiornamento da Ubuntu 14.04 a Ubuntu 18.04
ravi.zombie

3
Grazie, ho anche risolto lo stesso problema per Ubuntu 14.04, dal 16.04 al 18.04.
minish

2
Stupefacente. Il mio gestore di pacchetti era così rotto dopo l'aggiornamento da Ubuntu 16.04 a 18.04. Ho provato tutto ciò che la riga di comando ha raccomandato e varie altre soluzioni online. Questo sembra aver funzionato perfettamente. Grazie Olek Wojnar !!
evanrmurphy,

1
Adoro una soluzione valida e ben strutturata che funzioni! Grazie.
Dal

1

Quando si utilizza il metodo di rimozione / installazione apt sopra, le dipendenze possono far sì che apt rimuova più del previsto. Potrebbe anche essere necessario reinstallare altri pacchetti. Ho anche reinstallato quanto segue.

Alcuni di questi sarebbero già stati reinstallati automaticamente, ma era più semplice copiare l'elenco dei pacchetti rimossi e far capire a apt cosa doveva essere fatto.

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 \

Mi piace che tu abbia identificato il problema delle dipendenze rimosse nella tua risposta. Sfortunatamente, la tua soluzione contrassegnerebbe tutti quei pacchetti come installati manualmente e non sarebbero quindi rimossi automaticamente se non necessari in futuro.
Olek Wojnar,

1

Per evitare che vengano rimosse troppe dipendenze, provare dpkg -P --force-depends:

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

Quindi aggiorna, recupera e installa nuovamente quei pacchetti:

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
[...]

Quindi, nessuna fortuna con la reinstallazione né da --reinstallné manualmente con dipendenze né utilizzando dpkg -[P|i] --force-depends.

09-10-2018: Dato che quei pacchetti sono ancora rotti ma senza aggiornamenti in vista, li ho appena rimossi tutti per poter usare apt per (dis) installare i pacchetti. Lasciare lo status quo significava non poter installare o rimuovere i pacchetti. Sto usando toolchain installati localmente per soddisfare i miei requisiti.

modifica: nota sulla rimozione di tutti i pacchetti e le dipendenze offensive.


@Olek: Thx per la modifica. Ma no, non funziona per me. Ecco perché ho lasciato il post come ho fatto io. Anche ora con la tua modifica questo non mi fornisce una soluzione a questo problema. Ti dispiacerebbe ripristinare la modifica, per favore? Grazie.
Gen.Stack

Strano che non abbia funzionato sulla tua macchina. Ho avuto lo stesso identico problema e la mia soluzione l'ha risolto. Sulla base di come funziona apt, sono sinceramente confuso perché non funzionerebbe per te. Forse c'è un altro problema in gioco per te? In ogni caso, ho creato la mia risposta. Buona fortuna a risolvere i tuoi problemi!
Olek Wojnar,

@OlekWojnar sì, è strano. Al momento ignoro le ragioni sottostanti. Non scaverò più in profondità quando ho ottenuto l'altro toolchain, non c'è bisogno di uno stock. Se un giorno realizzerò come risolverlo, lo aggiornerò. thx
Gen.Stack

0

Ho risolto l'errore usando il gestore di pacchetti sinaptici in Ubuntu 18.04 rimuovendo i pacchetti problamatici e reinstallandoli in seguito.


-1

Ho avuto lo stesso errore durante l'installazione libc6-dev-armel-cross_2.27-3ubuntu1cross1.1_all.debe il libc6-armel-cross_2.27-3ubuntu1cross1.1_all.debpacchetto ed esegui

apt -f install 

non ha funzionato. Ho scaricato libc6-dev-armel-cross_2.27-3ubuntu1cross1_all.deb and libc6-armel-cross_2.27-3ubuntu1cross1_all.debdal mirror dei pacchetti Ubuntu e li ho installati

dpkg -i *.deb 

e ha risolto il mio problema.


Grazie Patrick, come menzionato Woofas, per rimuovere e installare ha risolto il problema.
Urivan Flores,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.