업그레이드를 시도 할 때 Ubuntu 18.04에서 libc6-dev-armhf-cross 관련 오류를 어떻게 수정합니까?


22

오늘 우분투 소프트웨어 제안에 따라 업그레이드를 시도하는 동안 다음 오류가 표시됩니다. 이 오류가 처음으로 나타납니다. 내 18.04 시스템은 몇 달 동안 잘 작동했습니다.

도움을 주시면 감사하겠습니다.

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

다운로드 한 일부 패키지에 문제가있는 것 같습니다. 실행 sudo apt clean한 다음 업그레이드를 다시 실행하십시오.
— Kristopher Ives

1
패키지 캐시를 지우고 패키지를 다시 다운로드하려고 시도했지만 동일한 문제가 발생했습니다.
— Urivan Flores

답변:


16

다시 설치해보십시오 libc6-dev-armhf-cross( libc6-dev-armel-cross)

sudo apt remove libc6-dev-armhf-cross 뒤에 sudo apt install libc6-dev-armhf-cross

( apt install --reinstall작동하지 않는 것 같습니다)

실행 sudo apt remove하면 종속 된 패키지가 제거 될 수 있습니다. 참조 Olek Wojnar의 대답 종속 패키지를 제거하지 않고이 작업을 수행하는 방법에 대한 아래를


안녕하세요 Woofas, 저는 다시 시도했지만 제거와 설치에 차이가 있다고 생각하지 않았습니다. 방금 시도했지만 이제 제대로 설치되고 있습니다. 감사!
— Urivan Flores

1
그것은 거의 나를 위해 일했다. 나는 이것을 모두 제거했다가 다시 설치해야했다.libc6-dev-armhf-cross libc6-armel-cross libc6-dev-armel-cross libc6-armhf-cross
— AT

1
gcc와 같은 의존성으로 인해 제거 된 다른 패키지를 다시 설치해야 할 수도 있습니다. 아래 내 게시물을 참조하십시오.
— John JJ

John이 말했듯이 제거 된 패키지를 고려해야합니다. 그것을 처리하는 상당히 깨끗한 방법에 대한 내 대답을 살펴보십시오.
— Olek Wojnar

37

Gen.Stack에서 사용하는 다양한 접근 방식 으로이 문제를 깨끗하게 해결할 수있었습니다 . 허용되는 솔루션의 문제점은 문제가되는 패키지의 종속성을 제거하지만 복원하지 못한다는 것입니다. 이 솔루션은 해당 문제를 방지합니다.

먼저, 문제 패키지를 제거하고 종속성을 제거하지 않고 구성을 제거하십시오.

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

패키지 캐시를 정리하십시오.

sudo apt clean

패키지 목록을 업데이트하십시오.

sudo apt update

손상된 종속성 수정 (제거 된 패키지 중 두 개를 자동으로 설치해야 함) :

sudo apt -f install

마지막으로 나머지 두 패키지를 설치하십시오.

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

그러면 시스템이 정상적으로 작동합니다.


3
잘 작동합니다. 18.04 우분투 우분투 14.04에서 업그레이드
— ravi.zombie

3
감사합니다, 나는 또한 동일한 문제 우분투 14.04, 16.04에서 18.04로 해결했습니다.
— minish

2
놀랄 만한. Ubuntu 16.04에서 18.04로 업그레이드 한 후 패키지 관리자가 손상되었습니다. 나는 커맨드 라인이 권장하는 모든 것을 온라인으로 시도했다. 이것은 완벽하게 작동 한 것으로 보입니다. 감사합니다 Olek Wojnar !!
— evanrmurphy

1
나는 잘 작동하는 좋은 솔루션을 좋아합니다! 감사.
— Whome

1

위의 apt 제거 / 설치 방법을 사용할 때 종속성으로 인해 apt가 의도 한 것보다 더 많이 제거 될 수 있습니다. 다른 패키지를 다시 설치해야 할 수도 있습니다. 또한 다음을 다시 설치했습니다.

이들 중 일부는 이미 자동으로 다시 설치되었지만 제거 된 패키지 목록을 복사하고 수행해야 할 작업을 파악하는 것이 더 쉬웠습니다.

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 \

귀하의 답변에서 제거 된 종속성 문제를 확인한 것이 좋습니다. 불행히도, 솔루션은 모든 패키지를 수동으로 설치 한 것으로 표시하므로 나중에 필요하지 않은 경우 자동으로 제거되지 않습니다.
— Olek Wojnar

1

너무 많은 종속성이 제거되지 않도록하려면 dpkg -P --force-depends다음을 시도하십시오 .

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

그런 다음 해당 패키지를 업데이트하고 가져오고 다시 설치하십시오.

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

따라서 --reinstall종속성을 사용하거나 수동으로 또는를 사용하여 다시 설치해도 운이 없습니다 dpkg -[P|i] --force-depends.

2018-10-09 : 패키지가 여전히 손상되었지만 업데이트가 표시되지 않았으므로 패키지를 설치 해제 (설치)에 apt 사용할 수 있도록 모든 패키지를 제거했습니다. 현상 유지는 패키지를 설치하거나 제거 할 수 없음을 의미했습니다. 로컬로 설치된 툴체인을 사용하여 요구 사항을 충족시킵니다.

편집 : 문제가되는 모든 패키지 및 종속성 제거에 대한 참고 사항.


@Olek : 편집을위한 Thx. 그러나 아니오, 그것은 나를 위해 작동하지 않습니다. 그래서 내가 한 것처럼 게시물을 떠났습니다. 지금도 편집을 해도이 문제에 대한 해결책을 제공하지는 않습니다. 수정 사항을 되 돌리시겠습니까? 고마워.
— Gen.Stack

컴퓨터에서 작동하지 않는 것이 이상합니다. 나는 똑같은 문제가 있었고 해결책이 해결되었습니다. apt가 어떻게 작동하는지에 따라, 왜 그것이 당신에게 효과가 없는지 솔직히 혼란 스럽습니다. 아마도 당신에게 또 다른 문제가 있습니까? 어쨌든, 나는 내 자신의 답변을 만들었습니다. 문제를 해결하기 위해 행운을 빕니다!
— Olek Wojnar

@OlekWojnar 네, 이상합니다. 나는 현재 근본적인 이유를 무시합니다. 다른 툴체인을 구입했을 때 더 깊이 파고 들지 않을 것입니다. 언젠가이 문제를 해결하는 방법을 알고 있다면 이것을 업데이트하겠습니다. thx
— Gen.Stack

0

Ubuntu 18.04에서 시냅틱 패키지 관리자를 사용하여 오류 패키지를 제거한 후 나중에 다시 설치하여 오류를 해결했습니다.


-1

설치 libc6-dev-armel-cross_2.27-3ubuntu1cross1.1_all.deb및 libc6-armel-cross_2.27-3ubuntu1cross1.1_all.deb패키지 및 실행 시 동일한 오류가 발생했습니다.

apt -f install 

작동하지 않았다. libc6-dev-armel-cross_2.27-3ubuntu1cross1_all.deb and libc6-armel-cross_2.27-3ubuntu1cross1_all.deb우분투 패키지 미러에서를 다운로드하여

dpkg -i *.deb 

내 문제를 해결했습니다.


Woofas가 언급했듯이 Patrick은 적절한 제거 및 설치로 문제를 해결했습니다.
— Urivan Flores
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.