Помилка під час завантаження спільних бібліотек: libicuuc.so.59: не вдається відкрити спільний файл об'єкта: такого файлу чи каталогу немає


11

Після оновлення з pacman -Syuq:

# pacman -Sc

pacman: помилка під час завантаження спільних бібліотек: libicuuc.so.59: не вдається відкрити спільний файл об'єкта: такого файлу чи каталогу немає

# 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

Ту ж проблему, що з’явилася і сьогодні. Для мене libicuuc.so.59. Мені потрібно пройти командний рядок для завантаження, і багато програм більше не працюють
zakrapovic

Також відсутній libicui18n.so.59, мабуть, пов’язаний
zakrapovic

Я фактично вирішив свою проблему з pacman -Sc, а потім pacman -Syuu
zakrapovic

Відповіді:


20

Раніше запропоновані рішення не були актуальними або не спрацьовували для мене. Чомусь оновлення 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 -Syyu
  5. Тепер ви можете видалити файли, які ви тільки що витягли.

2
Дякую, це працювало для мене. Але як мені безпечно видалити скопійовані файли libicu * .59? rm /usr/lib/libicu*.59?
Skatox

Це працювало і для мене. Дякуємо, є присутніх.
Воган Хілтс

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

Це було LD_LIBRARY_PATH=`pwd`/pkg/tmp/usr/libв моєму випадку.
v_2e

1

Я дослідив проблему і дізнався про те /var/log/pacman.log. Я прочитав журнал і виявив, що проблема:

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

Оновлення було перервано, звідси проблема зв’язку.

Потім я завантажив прошивку звідси . Я витягнув зниклу бібліотеку:

$ 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було символьним посиланням на libicuuc.so.59.1, тому я перейшов libicuuc.so.59.1до /usr/lib/libicuuc.so.59.

Запуск pacmanя отримав помилку, якої не libicudata.so.59було. Я витягнув зниклу бібліотеку /usr/libі pacmanпрацював :).

Потім я оновив систему pacman -Syuqі перевірив наявність ldd /usr/bin/pacmanусіх бібліотек. Я перемістив бібліотеки v59 /usr/libі перевірив, що pacmanпрацює.

Перезавантажте пальцями схрещені ... успішно !!!

pacman -Sc і лягай спати з посмішкою :)


1

Якщо у вас є виконуваний файл, який потребує саме цієї версії бібліотеки (як це сталося в моєму випадку), існує пакет aur для цієї конкретної версії.


0

Вирішили проблему з pacman -Sc, а потім pacman -Syyu Не знаю, чому це вирішило проблему.


0

У вашій системі lib32-icu не встановлено. Просто встановіть lib32-icu від Pacman, і вся проблема буде вирішена.

sudo pacman -S lib32-icu

0

Я вирішив цю проблему за допомогою наступного посилання; тут

Згідно з цією статтею пониження кваліфікації - це погана ідея, і, напевно, ви повинні зробити це відновити пакет, в якому використовується вищезазначена відсутність залежності. Пониження рівня може вплинути на декілька пакетів.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.