Fehler beim Laden gemeinsam genutzter Bibliotheken: libicuuc.so.59: Gemeinsam genutzte Objektdatei kann nicht geöffnet werden: Keine solche Datei oder kein solches Verzeichnis

Fehler beim Laden gemeinsam genutzter Bibliotheken: libicuuc.so.59: Gemeinsam genutzte Objektdatei kann nicht geöffnet werden: Keine solche Datei oder kein solches Verzeichnis

Nach dem Update mit pacman -Syuq:

# pacman -Sc

pacman: error while loading shared libraries: libicuuc.so.59: cannot open shared object file: No such file or directory

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

Arch Linux in einem Pi Version 1:

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

Antwort1

Zuvor vorgeschlagene Lösungen waren für mich nicht relevant oder funktionierten nicht. Aus irgendeinem Grund icuführte das Upgrade des Pakets von 59.1-2 auf 60.1-1 zu einem Verbindungsabbruch und viele Programme (einschließlich Pacman) schlugen danach mit diesem Fehler fehl. Auf meiner Seite gab es kein unterbrochenes Pacman.

Wenn Sie das vorherige Paket noch in Ihrem Cache haben, können Sie Folgendes versuchen, das hat bei mir funktioniert:

  1. Suchen Sie nach der zwischengespeicherten Version des Pakets (meine war beispielsweise /var/cache/pacman/pkg/icu-59.1-2-x86_64.pkg.tar.xz).
  2. Extrahieren Sie es:mkdir -p ~/pkg/tmp && tar xJvf /var/cache/pacman/pkg/icu-59.1-2-x86_64.pkg.tar.xz -C ~/pkg/tmp
  3. Kopieren Sie Bibliotheken in Ihren Bibliotheksordner:sudo cp ~/pkg/tmp/usr/lib/libicu*.59 /usr/lib/
  4. Mit dem Update fortfahren:sudo pacman -Syu
  5. Sie können jetzt die gerade extrahierten Dateien entfernen.

Antwort2

Sie können auch die Variable LD_LIBRARY_PATH verwenden, um die ICU-Bibliotheken von einem anderen Ort zu laden. Auf diese Weise können Sie Kopien nach /usr/lib vermeiden:

$ 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

Antwort3

Falls Sie eine ausführbare Datei haben, die diese bestimmte Version der Bibliothek benötigt (wie es in meinem Fall der Fall war), gibt es eineaur-Paketfür diese bestimmte Version.

Antwort4

Das Problem wurde mit „Pacman -Sc“ und anschließend mit „Pacman -Syyu“ gelöst. Ich bin nicht sicher, warum das das Problem gelöst hat.

verwandte Informationen