Bagaimana cara memperbaiki kesalahan dengan libc6-dev-armhf-cross di Ubuntu 18.04 ketika mencoba untuk memperbarui?

22

Hari ini ketika mencoba untuk meningkatkan berdasarkan saran Perangkat Lunak Ubuntu, saya melihat kesalahan berikut. Ini adalah pertama kalinya saya melihat kesalahan ini. Sistem 18,04 saya telah bekerja dengan baik selama berbulan-bulan sekarang.

Bantuan apa pun dihargai.

$ 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
sumber
Tampaknya ada yang salah dengan beberapa paket yang diunduh. Coba jalankan sudo apt cleanlalu jalankan upgrade lagi.
Kristopher Ives
1
Saya sudah mencoba membersihkan cache paket dan mengunduh ulang paket, namun masalah yang sama muncul.
Urivan Flores

Jawaban:

16

Coba instal ulang libc6-dev-armhf-cross(lakukan hal yang sama untuk libc6-dev-armel-cross)

sudo apt remove libc6-dev-armhf-cross diikuti oleh sudo apt install libc6-dev-armhf-cross

( apt install --reinstallsepertinya tidak bekerja)

Perhatikan bahwa menjalankan sudo apt removedapat menghapus paket yang bergantung padanya. Lihat jawaban Olek Wojnar di bawah ini tentang cara melakukan ini tanpa menghapus paket dependen

Rufus
sumber
Halo Woofas, saya juga mencoba --reinstall tetapi tidak berpikir akan ada perbedaan dengan menghapus dan menginstal. Saya baru saja mencoba dan sekarang menginstal dengan benar. Terima kasih!
Urivan Flores
1
Itu hampir berhasil bagi saya, saya harus menghapus semua ini - kemudian instal ulanglibc6-dev-armhf-cross libc6-armel-cross libc6-dev-armel-cross libc6-armhf-cross
AT
1
Anda mungkin perlu menginstal ulang paket lain yang dihapus karena ketergantungan, seperti gcc, lihat posting saya di bawah ini.
John JJ
Seperti kata John, Anda harus memperhitungkan paket yang dihapus. Lihatlah jawaban saya untuk cara yang cukup bersih mengurusnya.
Olek Wojnar
37

Saya bisa dengan bersih menyelesaikan masalah ini dengan variasi pendekatan yang digunakan oleh Gen.Stack . Masalah dengan solusi yang diterima adalah bahwa ia menghilangkan dependensi dari paket yang dimaksud tetapi gagal mengembalikannya. Solusi ini mencegah masalah itu.

Pertama, hapus paket masalah dan bersihkan konfigurasinya tanpa menghapus dependensi:

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

Bersihkan cache paket:

sudo apt clean

Perbarui daftar paket:

sudo apt update

Perbaiki dependensi yang rusak (harus menginstal dua paket yang dihapus secara otomatis):

sudo apt -f install

Akhirnya, instal dua paket yang tersisa:

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

Ini akan membuat sistem Anda kembali berfungsi.

Olek Wojnar
sumber
3
bekerja dengan baik. untuk pemutakhiran dari ubuntu 14.04 ke ubuntu 18.04
ravi.zombie
3
Terima kasih, saya juga menyelesaikan masalah yang sama dengan Ubuntu 14.04, 16.04 hingga 18.04.
minish
2
Luar biasa. Pengelola paket saya sangat rusak setelah memutakhirkan dari Ubuntu 16.04 ke 18.04. Saya mencoba semua yang direkomendasikan oleh command line dan berbagai solusi online lainnya. Yang ini tampaknya telah bekerja dengan sempurna. Olek Wojnar terima kasih !!
evanrmurphy
1
Saya suka solusi yang bagus dan ditata dengan baik yang bekerja! Terima kasih.
Siapa
1

Saat menggunakan metode apt remove / install di atas, dependensi dapat menyebabkan apt untuk menghapus lebih dari yang Anda inginkan. Anda mungkin juga perlu menginstal ulang paket lain. Saya juga menginstal ulang berikut ini.

Beberapa di antaranya sudah akan diinstal ulang secara otomatis, tetapi lebih mudah untuk menyalin daftar paket yang dihapus dan biarkan mencari tahu apa yang perlu dilakukan.

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
sumber
Saya suka bahwa Anda telah mengidentifikasi masalah dependensi yang dihapus dalam jawaban Anda. Sayangnya, solusi Anda akan menandai semua paket tersebut sebagai yang diinstal secara manual dan karenanya tidak akan dihapus secara otomatis jika tidak perlu di masa mendatang.
Olek Wojnar
1

Untuk mencegah terlalu banyak ketergantungan dihapus, coba dpkg -P --force-depends:

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

Kemudian perbarui, ambil dan instal kembali paket-paket itu:

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

Jadi, tidak ada keberuntungan dengan menginstal ulang baik --reinstallsecara manual dengan dependensi maupun dengan menggunakan dpkg -[P|i] --force-depends.

2018-10-09: Karena paket-paket itu masih rusak tetapi tanpa pembaruan, saya baru saja menghapusnya semua agar dapat menggunakan apt untuk menginstal paket-paket. Meninggalkan status quo berarti tidak dapat menginstal atau menghapus paket. Saya menggunakan toolchain yang dipasang secara lokal untuk memenuhi kebutuhan saya.

sunting: perhatikan tentang menghapus semua paket dan dependensi yang menyinggung.

Stack
sumber
@ Olek: Thx untuk edit. Tapi tidak, itu tidak berhasil untuk saya. Itu sebabnya saya meninggalkan pos seperti yang saya lakukan. Bahkan sekarang dengan suntingan Anda ini tidak memberi saya solusi untuk masalah ini. Maukah Anda mengembalikan suntingan Anda? Terima kasih.
Gen.Stack
Aneh bahwa itu tidak bekerja pada mesin Anda. Saya memiliki masalah yang sama persis dan solusi saya memperbaikinya. Berdasarkan bagaimana cara kerjanya, saya terus terang bingung mengapa itu tidak bekerja untuk Anda. Mungkin ada masalah lain untuk Anda? Bagaimanapun, saya menciptakan jawaban saya sendiri. Semoga berhasil memperbaiki masalah Anda!
Olek Wojnar
@ OlekWojnar ya, ini aneh. Saya mengabaikan alasan yang mendasari sampai sekarang. Tidak akan menggali lebih dalam karena saya mendapatkan toolchain lainnya, tidak perlu stok satu. Jika suatu hari saya menyadari bagaimana menyelesaikannya, saya akan memperbarui ini. thx
Gen.Stack
0

Saya memecahkan kesalahan menggunakan manajer paket synaptic di Ubuntu 18.04 dengan menghapus paket problamatic dan menginstalnya kembali nanti.

abhi sr
sumber
-1

Saya mendapatkan kesalahan yang sama saat menginstal libc6-dev-armel-cross_2.27-3ubuntu1cross1.1_all.debdan libc6-armel-cross_2.27-3ubuntu1cross1.1_all.debmengemas, dan menjalankannya

apt -f install 

tidak bekerja Saya mengunduh libc6-dev-armel-cross_2.27-3ubuntu1cross1_all.deb and libc6-armel-cross_2.27-3ubuntu1cross1_all.debdari mirror paket Ubuntu dan menginstalnya

dpkg -i *.deb 

dan itu memecahkan masalah saya.

Patrick
sumber
Terima kasih Patrick, seperti yang disebutkan Woofas, dapat menghapus dan menginstal menyelesaikan masalah.
Urivan Flores