я бегуПарабола(производная от Arch Linux, которая заносит в черный список несвободное ПО и добавляет много другого ПО). Недавно пакет ICU обновился с версии 59 до версии 60 (пакет ICU напрямую из репозиториев Arch, а не из Parabola). В результате многие пакеты из собственных репозиториев Parabola пришлось пересобрать для новой версии ICU, включая ring-client-gnome и california.
Я подтвердил, что на новой виртуальной машине и "gnome-ring", и "california" работают без проблем. Другие пользователи на IRC сообщают о том же.
Однако на моей личной машине не запускаются ни "gnome-ring", ни "california". Мне не удалось воспроизвести эту проблему, кроме как на старой виртуальной машине, которая, к сожалению, была повреждена.
Странно, что несмотря на то, что ring-client-gnome собран для ICU v60, мой, похоже, хочет v59, а также v60. Например, если вы удалите ICU, gnome-ring выведет, что не может найти "libicui18n.so.60", как и ожидалось. Но если у вас установлен ICU, он выведет, что не может найти "libicui18n.so.59". Это не имеет никакого смысла, так как невозможно установить две разные версии ICU без конфликтов, поэтому может показаться, что с моей установкой что-то не так.
Интересно, что независимо от того, установлен ли у вас ICU или нет, «california» всегда будет выдавать сообщение о том, что не может найти «libicui18n.so.59», несмотря на то, что он был создан для ICU v60.
С установленным последним пакетом ICU (60.1-1):
[user@hostname ~]$ gnome-ring
gnome-ring: error while loading shared libraries: libicui18n.so.59: cannot open shared object file: No such file or directory
[user@hostname ~]$ california
california: error while loading shared libraries: libicui18n.so.59: cannot open shared object file: No such file or directory
Без установленного пакета интенсивной терапии (калифорнийскийнетопечатка):
[user@hostname ~]$ gnome-ring
gnome-ring: error while loading shared libraries: libicui18n.so.60: cannot open shared object file: No such file or directory
[user@hostname ~]$ california
california: error while loading shared libraries: libicui18n.so.59: cannot open shared object file: No such file or directory
Еще несколько полезных выводов:
[user@hostname ~]$ ldd /usr/lib/libring.so /usr/lib/libring.so.0 /usr/lib/libring.so.0.0.0 /usr/lib/ring/dring /usr/bin/gnome-ring /usr/bin/ring.cx | grep icu
libicuuc.so.60 => /usr/lib/libicuuc.so.60 (0x0000604eec817000)
libicudata.so.60 => /usr/lib/libicudata.so.60 (0x0000604ee9dca000)
libicuuc.so.60 => /usr/lib/libicuuc.so.60 (0x000069782c24c000)
libicudata.so.60 => /usr/lib/libicudata.so.60 (0x00006978297ff000)
libicuuc.so.60 => /usr/lib/libicuuc.so.60 (0x00006ea1e4d8a000)
libicudata.so.60 => /usr/lib/libicudata.so.60 (0x00006ea1e233d000)
libicuuc.so.60 => /usr/lib/libicuuc.so.60 (0x0000686de13da000)
libicudata.so.60 => /usr/lib/libicudata.so.60 (0x0000686dde98d000)
libicui18n.so.60 => /usr/lib/libicui18n.so.60 (0x0000603da97c4000)
libicuuc.so.60 => /usr/lib/libicuuc.so.60 (0x0000603da940b000)
libicui18n.so.59 => not found
libicuuc.so.59 => not found
libharfbuzz-icu.so.0 => /usr/lib/libharfbuzz-icu.so.0 (0x0000603da49ee000)
libicuuc.so.59 => not found
libicui18n.so.59 => not found
libicudata.so.60 => /usr/lib/libicudata.so.60 (0x0000603d9f05a000)
libicuuc.so.59 => not found
libicui18n.so.59 => not found
libicuuc.so.59 => not found
Версия для отделения интенсивной терапии:
[user@hostname ~]$ sudo pacman -Q icu
icu 60.1-1
Содержимое /usr/lib/icu:
[user@hostname icu]$ ls -l
total 12
drwxr-xr-x 1 root root 46 Nov 22 14:16 60.1
lrwxrwxrwx 1 root root 4 Nov 12 09:33 current -> 60.1
lrwxrwxrwx 1 root root 20 Nov 12 09:33 Makefile.inc -> current/Makefile.inc
lrwxrwxrwx 1 root root 19 Nov 12 09:33 pkgdata.inc -> current/pkgdata.inc
Содержимое /lib/libicu
[alex@LibrebootT400 lib]$ ls -la libicu*
lrwxrwxrwx 1 root root 18 Nov 12 09:33 libicudata.so -> libicudata.so.60.1
lrwxrwxrwx 1 root root 18 Nov 12 09:33 libicudata.so.60 -> libicudata.so.60.1
-rwxr-xr-x 1 root root 26825368 Nov 12 09:33 libicudata.so.60.1
lrwxrwxrwx 1 root root 18 Nov 12 09:33 libicui18n.so -> libicui18n.so.60.1
lrwxrwxrwx 1 root root 18 Nov 12 09:33 libicui18n.so.60 -> libicui18n.so.60.1
-rwxr-xr-x 1 root root 2762816 Nov 12 09:33 libicui18n.so.60.1
lrwxrwxrwx 1 root root 16 Nov 12 09:33 libicuio.so -> libicuio.so.60.1
lrwxrwxrwx 1 root root 16 Nov 12 09:33 libicuio.so.60 -> libicuio.so.60.1
-rwxr-xr-x 1 root root 55056 Nov 12 09:33 libicuio.so.60.1
lrwxrwxrwx 1 root root 18 Nov 12 09:33 libicutest.so -> libicutest.so.60.1
lrwxrwxrwx 1 root root 18 Nov 12 09:33 libicutest.so.60 -> libicutest.so.60.1
-rwxr-xr-x 1 root root 64616 Nov 12 09:33 libicutest.so.60.1
lrwxrwxrwx 1 root root 16 Nov 12 09:33 libicutu.so -> libicutu.so.60.1
lrwxrwxrwx 1 root root 16 Nov 12 09:33 libicutu.so.60 -> libicutu.so.60.1
-rwxr-xr-x 1 root root 203288 Nov 12 09:33 libicutu.so.60.1
lrwxrwxrwx 1 root root 16 Nov 12 09:33 libicuuc.so -> libicuuc.so.60.1
lrwxrwxrwx 2 root root 16 Nov 12 09:33 libicuuc.so.59 -> libicuuc.so.60.1
lrwxrwxrwx 2 root root 16 Nov 12 09:33 libicuuc.so.60 -> libicuuc.so.60.1
-rwxr-xr-x 1 root root 1799952 Nov 12 09:33 libicuuc.so.60.1
решение1
У Parabola есть специальный репозиторий, который называется "непризма", который содержит ряд защищенных пакетов и в целом повышает конфиденциальность. Я забыл, что включил его для тестирования некоторое время назад.
Отключение этого репозитория исправило как gnome-ring, так и california, что говорит о том, что один изнепризмаpackages сломан. Удалось сузить его до сломанной зависимости, которая предполагает, что evolution-data-server является виновником. Конечно, естьnonprism/evolution-data-serverкоторый отстает от обычных пакетов на две версии.
nonprism/evolution-data-serverсейчас в очереди на перестройку. Если это решит проблему, я отмечу этот вопрос как решенный.
решение2
Мне это помогло:
sudo ln /usr/lib/libicuuc.so.60 /usr/lib/libicuuc.so.59
(Предполагается, что ваша система работает на ICU v60. Если у вас v59, вы, вероятно, можете создать символическую ссылку 59 на 60.)