Ошибка при загрузке общих библиотек: libicuuc.so.59: невозможно открыть файл общего объекта: Такого файла или каталога нет

Ошибка при загрузке общих библиотек: libicuuc.so.59: невозможно открыть файл общего объекта: Такого файла или каталога нет

После обновления с 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 на Pi версии 1:

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

решение1

Предложенные ранее решения не были актуальны или не работали для меня. По какой-то причине обновление пакета icuс 59.1-2 до 60.1-1 привело к разрыву связи, и многие программы (включая pacman) после этого завершились с этой ошибкой. На моей стороне нет прерванного pacman.

Если у вас в кэше все еще есть предыдущий пакет, вы можете попробовать это, что сработало у меня:

  1. Найдите кэшированную версию пакета (например, у меня была /var/cache/pacman/pkg/icu-59.1-2-x86_64.pkg.tar.xz).
  2. Извлеките его:mkdir -p ~/pkg/tmp && tar xJvf /var/cache/pacman/pkg/icu-59.1-2-x86_64.pkg.tar.xz -C ~/pkg/tmp
  3. Скопируйте библиотеки в папку lib:sudo cp ~/pkg/tmp/usr/lib/libicu*.59 /usr/lib/
  4. Продолжить обновление:sudo pacman -Syu
  5. Теперь вы можете удалить только что извлеченные файлы.

решение2

Вы также можете использовать переменную LD_LIBRARY_PATH для загрузки библиотек icu из другого места. Таким образом, вы можете избежать любых копий в /usr/lib:

$ 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

решение3

В случае, если у вас есть исполняемый файл, которому нужна эта конкретная версия библиотеки (как это было в моем случае), естьпакет aurдля этой конкретной версии.

решение4

Проблема решена с помощью pacman -Sc, а затем pacman -Syyu. Не уверен, почему это решило проблему.

Связанный контент