Paylaşılan kitaplıklar yüklenirken hata oluştu: libicuuc.so.59: paylaşılan nesne dosyası açılamıyor: Böyle bir dosya veya dizin yok


11

Güncellemeden sonra pacman -Syuq:

# pacman -Sc

pacman: paylaşılan kitaplıkları yüklerken hata: libicuuc.so.59: paylaşılan nesne dosyasını açamıyor: Böyle bir dosya veya dizin yok

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

Pi sürüm 1'de Linux Arch:

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

Burada da aynı sorun ortaya çıktı. Benim için libicuuc.so.59. Önyükleme için komut satırından geçmek zorundayım ve birçok program artık çalışmıyor
zakrapovic

Ayrıca muhtemelen libicui18n.so.59 eksik ilgili
Zakrapovic

Aslında pacman -Sc ile sorunumu çözdüm ve ardından pacman -Syuu
zakrapovic

Yanıtlar:


20

Daha önce önerilen çözümler alakalı değildi veya benim için işe yaramıyordu. Herhangi bir nedenle icupaketi 59.1-2'den 60.1-1'e yükseltmek bağlantı kopması yaptı ve birçok program (pacman dahil) bu hatayla başarısız oldu. Yanımda kesik pacman yok.

Önbelleğinizde hala bir önceki paket varsa, benim için çalışan bu paketi deneyebilirsiniz:

  1. Paketin önbelleğe alınmış sürümünü bulun (örneğin benimki /var/cache/pacman/pkg/icu-59.1-2-x86_64.pkg.tar.xz).
  2. Çıkarın: mkdir -p ~/pkg/tmp && tar xJvf /var/cache/pacman/pkg/icu-59.1-2-x86_64.pkg.tar.xz -C ~/pkg/tmp
  3. Kütüphaneleri lib klasörünüze kopyalayın: sudo cp ~/pkg/tmp/usr/lib/libicu*.59 /usr/lib/
  4. Güncellemeye devam et: sudo pacman -Syyu
  5. Şimdi yeni çıkardığınız dosyaları kaldırabilirsiniz.

2
Teşekkürler, bu benim için çalıştı. Ancak kopyalanan libicu * .59 dosyalarını nasıl güvenli bir şekilde kaldırmalıyım? rm /usr/lib/libicu*.59?
Skatox

Bu benim için de işe yaradı. Teşekkürler, bir oy verin.
Vaughan Hilts

2

Ayrıca, icu kitaplıklarını farklı bir konumdan yüklemek için LD_LIBRARY_PATH değişkenini kullanabilirsiniz. Bu şekilde, / usr / lib dizinine yapılan kopyalardan kaçınabilirsiniz:

$ 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

Öyleydi LD_LIBRARY_PATH=`pwd`/pkg/tmp/usr/libbenim durumumda.
v_2e

1

Sorunu araştırdım ve hakkında buldum /var/log/pacman.log. Günlüğü okudum ve sorunun olduğunu gördüm:

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

Güncelleme kesintiye uğradı, bu nedenle bağlantı sorunu.

Daha sonra bellenimi buradan indirdim . Eksik kütüphaneyi çıkardım:

$ 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.59bir sembolik oldu libicuuc.so.59.1ben taşındı bu yüzden, libicuuc.so.59.1hiç /usr/lib/libicuuc.so.59.

Çalışırken eksik pacmanolan hatayı aldım libicudata.so.59. Eksik kütüphaneyi çıkardım /usr/libve pacmançalışıyordum :).

Daha sonra sistemi güncelledim ve tüm kütüphanelerin mevcut olduğunu pacman -Syuqkontrol ettim ldd /usr/bin/pacman. V59 kütüphanelerini taşındım ve çalıştığını /usr/libkontrol ettim pacman.

Parmak çarpı işareti ile yeniden başlatın ... başarıyla !!!

pacman -Sc ve bir gülümseme ile yatağa git :)


1

Kütüphanenin belirli bir sürümüne ihtiyaç duyan bir yürütülebilir dosya (benim durumumda olduğu gibi) varsa, söz konusu sürüm için bir aur paketi vardır .


0

Pacman ile sorunu çözdü -Sc ardından pacman -Syyu Sorunu neden çözdüğünden emin değilim.


0

Sisteminizde lib32-icu kurulu değil. Sadece pacman'dan lib32-icu'yu yükleyin ve tüm problemler çözülecek.

sudo pacman -S lib32-icu

0

Ben bu sorunu aşağıdaki bağlantı yardımıyla çözdüm; buraya

Bu makaleye göre düşürme kötü bir fikirdir ve muhtemelen yapmanız gereken yukarıdaki eksik bağımlılığı kullanan paketi yeniden oluşturmaktır. Sürüm düşürme birden fazla paketi etkileyebilir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.