Como faço para corrigir um erro com libc6-dev-armhf-cross no Ubuntu 18.04 ao tentar atualizar o apt?

22

Hoje, ao tentar atualizar com base na sugestão do Software Ubuntu, vejo os seguintes erros. Esta é a primeira vez que vejo esse erro. Meu sistema 18.04 está funcionando muito bem há muitos meses.

Qualquer ajuda é 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
fonte
Algo parece errado com alguns pacotes baixados. Tente executar sudo apt cleane execute a atualização novamente.
Kristopher Ives
1
Tentei limpar o cache do pacote e baixar novamente os pacotes, no entanto, o mesmo problema apareceu.
Urivan Flores 01/10/19

Respostas:

16

Tente reinstalar libc6-dev-armhf-cross(faça o mesmo para libc6-dev-armel-cross)

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

( apt install --reinstallparece não funcionar)

Observe que a execução sudo apt removepode remover pacotes dependentes dele. Veja a resposta de Olek Wojnar abaixo sobre como fazer isso sem remover os pacotes dependentes

Rufus
fonte
Oi Woofas, eu também tentei - reinstall, mas não achei que haveria diferença com remover e instalar. Eu apenas tentei e agora está instalando corretamente. Obrigado!
Urivan Flores 01/10/19
1
Que quase trabalhou para mim, eu tinha que remover todos estes, então reinstall-libc6-dev-armhf-cross libc6-armel-cross libc6-dev-armel-cross libc6-armhf-cross
AT
1
Pode ser necessário reinstalar outros pacotes removidos devido a dependências, como o gcc, veja meu post abaixo.
10139 John JJ
Como John disse, você precisa prestar contas dos pacotes removidos. Dê uma olhada na minha resposta para uma maneira bastante limpa de cuidar disso.
Olek Wojnar
37

Consegui resolver esse problema com uma variação da abordagem usada pelo Gen.Stack . O problema com a solução aceita é que ela remove dependências dos pacotes em questão, mas falha em restaurá-las. Esta solução evita esse problema.

Primeiro, remova os pacotes com problemas e limpe sua configuração sem remover as dependências:

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

Limpe o cache do pacote:

sudo apt clean

Atualize a lista de pacotes:

sudo apt update

Corrija dependências quebradas (deve instalar automaticamente dois dos pacotes removidos):

sudo apt -f install

Por fim, instale os dois pacotes restantes:

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

Isso trará seu sistema de volta ao funcionamento.

Olek Wojnar
fonte
3
funciona bem. para uma atualização a partir do Ubuntu 14.04 para o Ubuntu 18.04
ravi.zombie
3
Obrigado, também resolvi para o mesmo problema Ubuntu 14.04, 16.04 a 18.04.
Minish
2
Surpreendente. Meu gerenciador de pacotes ficou muito danificado após a atualização do Ubuntu 16.04 para 18.04. Eu tentei tudo o que a linha de comando recomendava e várias outras soluções online. Este parece ter funcionado perfeitamente. Obrigado Olek Wojnar !!
evanrmurphy 10/04
1
Eu amo uma solução boa e bem definida que funciona! Obrigado.
Quem
1

Ao usar o método de remoção / instalação do apt acima, as dependências podem fazer com que o apt remova mais do que você pretende. Você também pode precisar reinstalar outros pacotes. Eu também reinstalei o seguinte.

Alguns deles já seriam reinstalados automaticamente, mas era mais fácil copiar a lista de pacotes removidos e deixar o apt descobrir o que precisava ser feito.

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
fonte
Gosto que você identificou o problema das dependências removidas na sua resposta. Infelizmente, sua solução marcaria todos esses pacotes como instalados manualmente e, portanto, não seriam removidos automaticamente se desnecessários no futuro.
Olek Wojnar
1

Para impedir que muitas dependências sejam removidas, tente dpkg -P --force-depends:

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

Atualize, busque e instale esses pacotes novamente:

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

Portanto, não há sorte em reinstalar --reinstallnem manualmente nem com dependências nem usando dpkg -[P|i] --force-depends.

09-10-2018: Como esses pacotes ainda estão quebrados, mas sem atualizações à vista, apenas os removi para poder usar o apt para (des) instalar pacotes. Sair do status quo significava não poder instalar ou remover pacotes. Estou usando cadeias de ferramentas instaladas localmente para preencher meus requisitos.

edit: note sobre como remover todos os pacotes e dependências incorretos.

Gen.Stack
fonte
@Olek: Thx para a edição. Mas não, isso não funciona para mim. Por isso deixei o post como saí. Mesmo agora com sua edição, isso não me fornece uma solução para esse problema. Você se importaria de rever sua edição, por favor? THX.
Gen.Stack
Estranho que não funcionou na sua máquina. Eu tinha exatamente o mesmo problema e minha solução o corrigiu. Com base em como o apt funciona, estou francamente confuso por que não funcionaria para você. Talvez haja outro problema em jogo para você? De qualquer forma, criei minha própria resposta. Boa sorte para resolver seus problemas!
Olek Wojnar
@OlekWojnar sim, é estranho. Eu ignoro as razões subjacentes a partir de agora. Não vou me aprofundar mais quando comprei a outra cadeia de ferramentas, sem necessidade de estoque. Se um dia eu perceber como resolver isso, atualizarei isso. thx
Gen.Stack 15/10
0

Resolvi o erro usando o gerenciador de pacotes sinápticos no Ubuntu 18.04 removendo os pacotes problemáticos e reinstalando-os mais tarde.

abhi sr
fonte
-1

Eu recebi o mesmo erro ao instalar libc6-dev-armel-cross_2.27-3ubuntu1cross1.1_all.debe libc6-armel-cross_2.27-3ubuntu1cross1.1_all.debempacotar e executar

apt -f install 

não funcionou. Eu baixei o libc6-dev-armel-cross_2.27-3ubuntu1cross1_all.deb and libc6-armel-cross_2.27-3ubuntu1cross1_all.debespelho dos pacotes Ubuntu e os instalei com

dpkg -i *.deb 

e resolveu meu problema.

Patrick
fonte
Obrigado Patrick, como o Woofas mencionou, o apt remove e install resolveu o problema.
Urivan Flores 01/10/19