업그레이드를 시도 할 때 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.deblibc6-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.