it-swarm.com.de

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

Nach dem Update mit pacman -Syuq:

# pacman -Sc

pacman: Fehler beim Laden von gemeinsam genutzten Bibliotheken: libicuuc.so.59: Datei für gemeinsam genutzte Objekte kann nicht geöffnet werden: Keine solche Datei oder kein solches Verzeichnis

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

Arch Linux in einer Pi-Version 1:

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

Zuvor vorgeschlagene Lösungen waren für mich nicht relevant oder funktionierten nicht. Aus irgendeinem Grund führte das Upgrade des Pakets icu von 59.1-2 auf 60.1-1 zu einem Verbindungsbruch, und viele Programme (einschließlich pacman) schlugen nachher mit diesem Fehler fehl. Kein unterbrochener Pacman auf meiner Seite.

Wenn Sie das vorherige Paket noch in Ihrem Cache haben, können Sie dies versuchen, was für mich funktioniert hat:

  1. Suchen Sie die zwischengespeicherte 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 die Bibliotheken in Ihren lib-Ordner: Sudo cp ~/pkg/tmp/usr/lib/libicu*.59 /usr/lib/
  4. Fahren Sie mit dem Update fort: Sudo pacman -Syyu
  5. Sie können jetzt die gerade extrahierten Dateien entfernen.
20
Legogris

Sie können auch die Variable LD_LIBRARY_PATH verwenden, um die icu-Bibliotheken von einem anderen Speicherort 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
2
jviki

Ich habe das Problem untersucht und über den /var/log/pacman.log Gefunden. Ich las das Protokoll und stellte fest, dass das Problem war:

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

Das Update wurde unterbrochen, daher das Verbindungsproblem.

Ich habe dann die Firmware von hier heruntergeladen. Ich habe die fehlende Bibliothek extrahiert:

$ 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.59 War ein Symlink zu libicuuc.so.59.1, Also habe ich libicuuc.so.59.1 Zu /usr/lib/libicuuc.so.59 Verschoben.

Ausführen von pacman Ich habe den Fehler erhalten, dass libicudata.so.59 Fehlt. Ich habe die fehlende Bibliothek nach /usr/lib Extrahiert und pacman hat funktioniert :).

Ich habe dann das System mit pacman -Syuq Aktualisiert und mit ldd /usr/bin/pacman Überprüft, ob alle Bibliotheken vorhanden waren. Ich habe die v59-Bibliotheken von /usr/lib Verschoben und überprüft, ob pacman funktioniert.

Neustart mit Daumen drücken ... erfolgreich !!!

pacman -Sc Und mit einem Lächeln ins Bett gehen :)

1

Falls Sie eine ausführbare Datei haben, die diese bestimmte Version der Bibliothek benötigt (wie es in meinem Fall passiert ist), gibt es ein aur-Paket für diese bestimmte Version.

1
ivcha

In Ihrem System ist lib32-icu nicht installiert. Installieren Sie einfach lib32-icu von pacman und alle Probleme werden gelöst.

Sudo pacman -S lib32-icu
0
Amar Hunter

Das Problem wurde mit pacman -Sc gefolgt von pacman -Syyu gelöst. Ich bin mir nicht sicher, warum es das Problem gelöst hat.

0

Ich habe dieses Problem mit Hilfe des folgenden Links gelöst. hier

Laut diesem Artikel ist ein Downgrade eine schlechte Idee, und Sie sollten wahrscheinlich das Paket neu erstellen, das die oben genannte fehlende Abhängigkeit verwendet. Ein Downgrade kann mehrere Pakete betreffen.

0
Kevin RED