Kesalahan saat memuat pustaka bersama: libicuuc.so.59: tidak dapat membuka file objek bersama: Tidak ada file atau direktori tersebut


11

Setelah diperbarui dengan pacman -Syuq:

# pacman -Sc

pacman: kesalahan saat memuat pustaka bersama: libicuuc.so.59: tidak dapat membuka file objek bersama: Tidak ada file atau direktori

# find / -name libicuuc.so.* 2>/dev/null
/usr/lib/libicuuc.so.60.1
/usr/lib/libicuuc.so.60

Arch Linux dalam versi Pi 1:

# uname -an
4.9.62-1-ARCH #1 SMP Fri Nov 17 13:42:55 UTC 2017 armv6l GNU/Linux

Masalah yang sama di sini, muncul hari ini. Bagi saya libicuuc.so.59. Saya harus melalui command line untuk boot dan banyak program tidak berfungsi lagi
zakrapovic

Juga hilang libicui18n.so.59 mungkin terkait
zakrapovic

Saya benar-benar menyelesaikan masalah saya dengan pacman -Sc diikuti oleh pacman -Syuu
zakrapovic

Jawaban:


20

Solusi yang diusulkan sebelumnya tidak relevan atau tidak berfungsi untuk saya. Karena alasan tertentu, peningkatan icupaket dari 59.1-2 menjadi 60.1-1 membuat penghentian hubungan dan banyak program (termasuk pacman) gagal dengan kesalahan ini setelahnya. Tidak ada pacman yang terputus di sisiku.

Jika Anda masih memiliki paket sebelumnya di cache, Anda dapat mencoba ini, yang berfungsi untuk saya:

  1. Temukan versi paket yang di-cache (misalnya, milik saya tadinya /var/cache/pacman/pkg/icu-59.1-2-x86_64.pkg.tar.xz).
  2. Ekstrak itu: mkdir -p ~/pkg/tmp && tar xJvf /var/cache/pacman/pkg/icu-59.1-2-x86_64.pkg.tar.xz -C ~/pkg/tmp
  3. Salin lib ke folder lib Anda: sudo cp ~/pkg/tmp/usr/lib/libicu*.59 /usr/lib/
  4. Lanjutkan dengan pembaruan: sudo pacman -Syyu
  5. Anda sekarang dapat menghapus file yang baru saja Anda ekstrak.

2
Terima kasih, ini berhasil untuk saya. Tapi bagaimana cara aman menghapus file libicu * .59 yang disalin? rm /usr/lib/libicu*.59?
Skatox

Ini juga bekerja untuk saya. Terima kasih, dapatkan upvote.
Vaughan Hilts

2

Anda juga dapat menggunakan variabel LD_LIBRARY_PATH untuk memuat pustaka icu dari lokasi yang berbeda. Dengan cara ini, Anda dapat menghindari salinan ke / usr / lib:

$ mkdir -p ~/pkg/tmp
$ tar xJvf /var/cache/pacman/pkg/icu-59.1-2-x86_64.pkg.tar.xz -C ~/pkg/tmp
$ su
# LD_LIBRARY_PATH=`pwd`/pkg/tmp pacman -U /var/cache/pacman/pkg/icu-59.1-2-x86_64.pkg.tar.xz

Itu LD_LIBRARY_PATH=`pwd`/pkg/tmp/usr/libdalam kasus saya.
v_2e

1

Saya meneliti masalah dan menemukan tentang /var/log/pacman.log. Saya membaca log dan menemukan bahwa masalahnya adalah:

...
[2017-11-28 04:34] [ALPM] upgraded libmariadbclient (10.1.28-1 -> 10.1.29-1)
[2017-11-28 04:34] [ALPM] transaction interrupted

Pembaruan terganggu, karenanya masalah hubungan.

Saya kemudian mengunduh firmware dari sini . Saya mengekstrak perpustakaan yang hilang:

$ gunzip ArchLinuxARM-rpi-latest.tar.gz
$ tar -tf ArchLinuxARM-rpi-latest.tar |grep libicuuc.so.59
./usr/lib/libicuuc.so.59.1
./usr/lib/libicuuc.so.59
$ tar -xf ArchLinuxARM-rpi-latest.tar ./usr/lib/libicuuc.so.59.1
$ tar -xf ArchLinuxARM-rpi-latest.tar ./usr/lib/libicuuc.so.59

libicuuc.so.59adalah symlink ke libicuuc.so.59.1, jadi saya pindah libicuuc.so.59.1ke /usr/lib/libicuuc.so.59.

Berjalan pacmanSaya mendapat kesalahan yang libicudata.so.59hilang. Saya mengekstrak pustaka yang hilang /usr/libdan pacmanbekerja :).

Saya kemudian memperbarui sistem dengan pacman -Syuqdan memeriksa dengan ldd /usr/bin/pacmansemua perpustakaan yang ada. Saya memindahkan perpustakaan v59 dari /usr/libdan memeriksa yang pacmanberfungsi.

Nyalakan kembali dengan jari semoga berhasil !!!

pacman -Sc dan pergi tidur sambil tersenyum :)


1

Jika Anda memiliki executable yang membutuhkan versi perpustakaan tertentu (seperti yang terjadi dalam kasus saya), ada paket aur untuk versi tertentu.


0

Memecahkan masalah dengan pacman -Sc diikuti oleh pacman -Syyu Tidak yakin mengapa itu menyelesaikan masalah.


0

Di sistem Anda lib32-icu tidak diinstal. Cukup instal lib32-icu dari pacman dan semua masalah akan terpecahkan.

sudo pacman -S lib32-icu

0

Saya memecahkan masalah ini dengan bantuan tautan berikut; sini

Menurut artikel ini, menurunkan versi adalah ide yang buruk dan apa yang harus Anda lakukan adalah membangun kembali paket yang menggunakan ketergantungan yang hilang di atas. Penurunan versi dapat memengaruhi banyak paket.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.