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
Marsian frustrasi
sumber
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.
Legogris
sumber
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
jviki
sumber
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 :)

Marsian frustrasi
sumber
1

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

ivcha
sumber
0

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

alainsanguinetti
sumber
0

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

sudo pacman -S lib32-icu
Amar Hunter
sumber
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.

Kevin RED
sumber