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

11

Nach dem Update mit pacman -Syuq:

# pacman -Sc

pacman: Fehler beim Laden gemeinsam genutzter Bibliotheken: libicuuc.so.59: freigegebene Objektdatei 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
frustriertMartian
quelle
Das gleiche Problem hier, erschien heute. Für mich libicuuc.so.59. Ich muss die Befehlszeile durchlaufen, um zu booten, und viele Programme funktionieren nicht mehr
zakrapovic
Auch fehlt libicui18n.so.59 wahrscheinlich verwandt
zakrapovic
Ich löste eigentlich mein Problem mit Pacman -Sc gefolgt von Pacman -Syuu
zakrapovic

Antworten:

20

Zuvor vorgeschlagene Lösungen waren für mich nicht relevant oder funktionierten nicht. Aus irgendeinem Grund führte ein Upgrade des icuPakets 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 (z. B. meine /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.
Legogris
quelle
2
Danke, das hat bei mir funktioniert. Aber wie soll ich kopierte libicu * .59-Dateien sicher entfernen? rm /usr/lib/libicu*.59?
Skatox
Das hat auch bei mir funktioniert. Danke, hab eine positive Stimme.
Vaughan Hilts
2

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
jviki
quelle
Es war LD_LIBRARY_PATH=`pwd`/pkg/tmp/usr/libin meinem Fall.
v_2e
1

Ich recherchierte das Problem und fand über die /var/log/pacman.log. 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.59war ein symbolischer Link auf libicuuc.so.59.1, so zog ich libicuuc.so.59.1zu /usr/lib/libicuuc.so.59.

Beim Laufen habe pacmanich den Fehler bekommen, libicudata.so.59der fehlte. Ich habe die fehlende Bibliothek extrahiert /usr/libund pacmanarbeitete :).

Ich habe dann das System mit aktualisiert pacman -Syuqund überprüft, ldd /usr/bin/pacmanob alle Bibliotheken vorhanden waren. Ich habe die v59-Bibliotheken verschoben /usr/libund überprüft, ob sie pacmanfunktionieren.

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

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

frustriertMartian
quelle
1

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

ivcha
quelle
0

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

Alainsanguinetti
quelle
0

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
Amar Hunter
quelle
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.

Kevin RED
quelle