Po aktualizacji za pomocą pacman -Syuq
:
# pacman -Sc
pacman: błąd podczas ładowania bibliotek współdzielonych: libicuuc.so.59: nie można otworzyć pliku obiektu współdzielonego: brak takiego pliku lub katalogu
# find / -name libicuuc.so.* 2>/dev/null
/usr/lib/libicuuc.so.60.1
/usr/lib/libicuuc.so.60
Arch Linux w wersji Pi 1:
# uname -an
4.9.62-1-ARCH #1 SMP Fri Nov 17 13:42:55 UTC 2017 armv6l GNU/Linux
Odpowiedzi:
Wcześniej zaproponowane rozwiązania nie były dla mnie istotne lub nie działały. Z jakiegoś powodu uaktualnienie
icu
pakietu z 59.1-2 do 60.1-1 spowodowało przerwanie łączenia i wiele programów (w tym pacman) nie powiodło się z tym błędem. Po mojej stronie nie ma przerwanego Pacmana.Jeśli nadal masz poprzednią paczkę w pamięci podręcznej, możesz wypróbować to, co zadziałało dla mnie:
/var/cache/pacman/pkg/icu-59.1-2-x86_64.pkg.tar.xz
).mkdir -p ~/pkg/tmp && tar xJvf /var/cache/pacman/pkg/icu-59.1-2-x86_64.pkg.tar.xz -C ~/pkg/tmp
sudo cp ~/pkg/tmp/usr/lib/libicu*.59 /usr/lib/
sudo pacman -Syyu
źródło
rm /usr/lib/libicu*.59
?Możesz także użyć zmiennej LD_LIBRARY_PATH, aby załadować biblioteki icu z innej lokalizacji. W ten sposób możesz uniknąć kopiowania do / usr / lib:
źródło
LD_LIBRARY_PATH=`pwd`/pkg/tmp/usr/lib
w moim przypadku.Zbadałem problem i znalazłem informacje na temat
/var/log/pacman.log
. Przeczytałem dziennik i stwierdziłem, że problem:Aktualizacja została przerwana, stąd problem z połączeniem.
Następnie pobrałem oprogramowanie wewnętrzne z tego miejsca . Wyodrębniłem brakującą bibliotekę:
libicuuc.so.59
był dowiązaniem symbolicznym dolibicuuc.so.59.1
, więc przeprowadziłem sięlibicuuc.so.59.1
do/usr/lib/libicuuc.so.59
.Podczas pracy
pacman
dostałemlibicudata.so.59
brakujący błąd . Rozpakowałem brakującą bibliotekę/usr/lib
ipacman
działałem :).Następnie zaktualizowałem system
pacman -Syuq
i sprawdziłem,ldd /usr/bin/pacman
czy wszystkie biblioteki są obecne. Przeniosłem biblioteki v59/usr/lib
i sprawdziłem, czypacman
działa.Uruchom ponownie z kciukami ... pomyślnie !!!
pacman -Sc
i idź do łóżka z uśmiechem :)źródło
Jeśli masz plik wykonywalny, który potrzebuje tej konkretnej wersji biblioteki (tak jak miało to miejsce w moim przypadku), istnieje pakiet aur dla tej konkretnej wersji.
źródło
Rozwiązano problem z pacman -Sc, a następnie pacman -Syyu Nie wiem, dlaczego to rozwiązało problem.
źródło
W twoim systemie lib32-icu nie jest zainstalowany. Wystarczy zainstalować lib32-icu z Pacman, a wszystkie problemy zostaną rozwiązane.
źródło
Rozwiązałem ten problem za pomocą następującego linku; tutaj
Zgodnie z tym artykułem obniżenie wersji jest złym pomysłem i prawdopodobnie powinieneś przebudować pakiet, który wykorzystuje powyższą brakującą zależność. Obniżenie wersji może wpłynąć na wiele pakietów.
źródło