¿Cómo soluciono un error con libc6-dev-armhf-cross en Ubuntu 18.04 cuando intento actualizar?

22

Hoy, al intentar actualizar según la sugerencia de software de Ubuntu, veo los siguientes errores. Esta es la primera vez que veo este error. Mi sistema 18.04 ha estado funcionando bien durante muchos meses.

Cualquier ayuda es apreciada.

$ 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
fuente
Algo parece estar mal con algunos paquetes descargados. Intente ejecutar sudo apt cleany luego ejecute la actualización nuevamente.
Kristopher Ives
1
Intenté borrar el caché del paquete y volver a descargar los paquetes, sin embargo, apareció el mismo problema.
Urivan Flores

Respuestas:

16

Intente reinstalar libc6-dev-armhf-cross(haga lo mismo para libc6-dev-armel-cross)

sudo apt remove libc6-dev-armhf-cross seguido por sudo apt install libc6-dev-armhf-cross

( apt install --reinstallno parece funcionar)

Tenga en cuenta que la ejecución sudo apt removepuede eliminar los paquetes que dependen de él. Vea la respuesta de Olek Wojnar a continuación sobre cómo hacer esto sin eliminar los paquetes dependientes

Rufus
fuente
Hola Woofas, también probé - reinstalar pero no pensé que habría una diferencia con eliminar e instalar. Acabo de intentarlo y ahora se está instalando correctamente. ¡Gracias!
Urivan Flores
1
Eso casi funcionó para mí, tuve que eliminar todo esto y luego volver a instalarlolibc6-dev-armhf-cross libc6-armel-cross libc6-dev-armel-cross libc6-armhf-cross
AL
1
Es posible que deba reinstalar otros paquetes que se eliminen debido a dependencias, como gcc, consulte mi publicación a continuación.
John JJ
Como dijo John, debe tener en cuenta los paquetes que se eliminan. Echa un vistazo a mi respuesta para una forma bastante limpia de cuidar eso.
Olek Wojnar
37

Pude resolver limpiamente este problema con una variación del enfoque utilizado por Gen.Stack . El problema con la solución aceptada es que elimina las dependencias de los paquetes en cuestión pero no puede restaurarlos. Esta solución previene ese problema.

Primero, elimine los paquetes problemáticos y purgue su configuración sin eliminar dependencias:

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

Limpie la caché del paquete:

sudo apt clean

Actualice la lista de paquetes:

sudo apt update

Arregle las dependencias rotas (debería instalar automáticamente dos de los paquetes eliminados):

sudo apt -f install

Finalmente, instale los dos paquetes restantes:

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

Esto hará que su sistema vuelva a funcionar.

Olek Wojnar
fuente
3
funciona bien. para una actualización de ubuntu 14.04 a ubuntu 18.04
ravi.zombie
3
Gracias, también resolví el mismo problema Ubuntu 14.04, 16.04 a 18.04.
minish
2
Asombroso. Mi administrador de paquetes estaba tan roto después de actualizar Ubuntu 16.04 a 18.04. Probé todo lo que la línea de comandos recomendaba y varias otras soluciones en línea. Este parece haber funcionado perfectamente. ¡Gracias Olek Wojnar!
evanrmurphy
1
¡Me encanta una solución buena y bien diseñada que funcione! Gracias.
Quien
1

Cuando se utiliza el método apt remove / install anterior, las dependencias pueden hacer que apt elimine más de lo que pretende. También es posible que deba reinstalar otros paquetes. También reinstalé lo siguiente.

Algunos de estos ya se reinstalarían automáticamente, pero era más fácil copiar la lista de paquetes eliminados y dejar que apt descubriera lo que había que hacer.

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
fuente
Me gusta que hayas identificado el problema de las dependencias eliminadas en tu respuesta. Desafortunadamente, su solución marcaría todos esos paquetes como instalados manualmente y, por lo tanto, no se eliminarían automáticamente si fuera innecesario en el futuro.
Olek Wojnar
1

Para evitar que se eliminen demasiadas dependencias, intente dpkg -P --force-depends:

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

Luego actualice, busque e instale esos paquetes nuevamente:

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

Por lo tanto, no hay suerte con la reinstalación ni mediante --reinstallni manualmente con dependencias ni mediante el uso dpkg -[P|i] --force-depends.

2018-10-09: Como esos paquetes todavía están rotos pero no hay actualizaciones a la vista, los eliminé todos para poder usar apt para (des) instalar paquetes. Dejar el status quo significaba no poder instalar o eliminar paquetes. Estoy usando cadenas de herramientas instaladas localmente para cumplir con mis requisitos.

editar: nota sobre la eliminación de todos los paquetes ofensivos y dependencias.

Gen.Stack
fuente
@Olek: Thx para la edición. Pero no, no funciona para mí. Por eso dejé la publicación como lo hice. Incluso ahora con su edición, esto no me proporciona una solución a este problema. ¿Te importaría revertir tu edición, por favor? Gracias.
Gen.Stack
Es extraño que no funcionó en su máquina. Tuve exactamente el mismo problema y mi solución lo solucionó. Según cómo funciona apt, estoy francamente confundido por qué no funcionaría para usted. ¿Quizás hay otro problema en juego para ti? En cualquier caso, creé mi propia respuesta. ¡Buena suerte arreglando tus problemas!
Olek Wojnar
@OlekWojnar sí, es extraño. Ignoro las razones subyacentes a partir de ahora. No profundizaré más cuando obtuve la otra cadena de herramientas, no hay necesidad de stock. Si algún día me doy cuenta de cómo resolver esto, lo actualizaré. thx
Gen.Stack
0

Resolví el error usando el administrador de paquetes sinápticos en Ubuntu 18.04 eliminando paquetes problamáticos y reinstalándolos más tarde.

abhi sr
fuente
-1

Recibí el mismo error al instalar libc6-dev-armel-cross_2.27-3ubuntu1cross1.1_all.deby libc6-armel-cross_2.27-3ubuntu1cross1.1_all.debempaquetar y ejecutar

apt -f install 

no funcionó Lo descargué del libc6-dev-armel-cross_2.27-3ubuntu1cross1_all.deb and libc6-armel-cross_2.27-3ubuntu1cross1_all.debespejo de paquetes de Ubuntu y los instalé con

dpkg -i *.deb 

Y resolvió mi problema.

Patricio
fuente
Gracias Patrick, como mencionó Woofas, apt remove e install resolvió el problema.
Urivan Flores