Вопрос или проблема
Я выполнил обновление с помощью yaourt -Syuu
, но после перезагрузки мой Xfce не заработал. Поэтому я установил KDE, и все работало идеально.
Когда я попытался запустить firefox, вот что я получил в выводе:
process:5495): GLib-CRITICAL **: g_slice_set_config: assertion 'sys_page_size == 0'
failed
firefox: symbol lookup error: /usr/lib/libpangoft2-1.0.so.0 Если вы хотите
: неопределённый символ: hb_buffer_set_cluster_level
с mousepad:
(mousepad:5517): GtkSourceView-CRITICAL **: gtk_source_style_scheme_get_id: assertion 'GTK_IS_SOURCE_STYLE_SCHEME (scheme)' failed
(mousepad:5517): GLib-CRITICAL **: g_variant_new_string: assertion 'string != NULL' failed
(mousepad:5517): GtkSourceView-CRITICAL **: gtk_source_style_scheme_get_id: assertion 'GTK_IS_SOURCE_STYLE_SCHEME (scheme)' failed
(mousepad:5517): GLib-CRITICAL **: g_variant_new_string: assertion 'string != NULL' failed
(mousepad:5517): GtkSourceView-CRITICAL **: gtk_source_style_scheme_get_id: assertion 'GTK_IS_SOURCE_STYLE_SCHEME (scheme)' failed
mousepad: symbol lookup error: /usr/lib/libpangoft2-1.0.so.0: неопределённый символ: hb_buffer_set_cluster_level
и chromium:
/usr/lib/chromium/chromium --ppapi-flash- path=/usr/lib/PepperFlash/libpepflashplayer.so --ppapi-flash-version=18.0.0.233: symbol lookup error: /usr/lib/libpangoft2-1.0.so.0: неопределённый символ: hb_buffer_set_cluster_level
Поискав некоторое время, я нашел, что libpangoft2-1.0.so
находится в lib32-pango или Pango.
sudo pacman -S lib32-pango
предупреждение: lib32-pango-1.36.8-1 обновлён -- переустанавливаю
решение зависимостей...
поиск конфликтов между пакетами....
Пакеты (1) lib32-pango-1.36.8-1
Общий размер установки: 0,50 MiB
Чистый объем после обновления: 0,00 MiB
:: Продолжить установку? [S/n] S
(1/1) проверка ключей репозитория [############################] 100%
(1/1) проверка целостности пакетов [############################] 100%
(1/1) загрузка файлов пакетов [############################] 100%
(1/1) проверка конфликтов между файлами [############################] 100%
(1/1) проверка доступного пространства на диске [############################] 100%
(1/1) переустановка lib32-pango [############################] 100%
sbin/ldconfig: Файл /usr/lib/libtracker-miner-1.0.so.0 пуст, проверка не проводится.
sbin/ldconfig: Файл /usr/lib/libtracker-miner-1.0.so пуст, проверка не проводится.
sbin/ldconfig: Файл /usr/lib/libtracker-control-1.0.so.0.600.0 пуст, проверка не проводится.
sbin/ldconfig: Файл /usr/lib/libtracker-miner-1.0.so.0.600.0 пуст, проверка не проводится.
sbin/ldconfig: Файл /usr/lib/libtracker-control-1.0.so.0 пуст, проверка не проводится.
Также я пытался переустановить glib2, glib gtk и gtk2, но ничего это не помогло.
У меня было такое же сообщение об ошибке от нескольких приложений (!) после того, как я обновил pango
в эти дни (на OpenSuSE_Tumbleweed).
На рассылке OpenSuSE есть ветка о той же проблеме с AcrobatReader. Там я выяснил, что это связано с зависимостями Pango от Harfbuzz (“hb_buffer
. . .”). Поэтому я обновил libharfbuzz
с 0.9.9 до 1.0.3, и все снова заработало нормально.
Ответ или решение
Проблема с приложениями GTK, о которой вы упоминаете, связана с конфликтующими или отсутствующими библиотеками, в частности, с библиотеками Pango и Harfbuzz, как вы уже сами выяснили. Вот шаги, которые вы можете предпринять для решения этой проблемы:
-
Обновление библиотек Pango и Harfbuzz: Поскольку ошибка указывает на недостающий символ
hb_buffer_set_cluster_level
, это может означать, что ваша библиотека Harfbuzz устарела или несовместима с текущей версией Pango. Убедитесь, что обе библиотеки обновлены до последних стабильных версий. Выполните следующие команды:sudo pacman -Syu pango harfbuzz
Это обновит Pango и Harfbuzz до последних доступных версий в репозиториях.
-
Переустановка библиотек: В случае, если обновление не решит проблему, вы можете попытаться переустановить Pango и Harfbuzz:
sudo pacman -S --needed pango harfbuzz
-
Проверка целостности библиотек и зависимостей: Если вы пользовались
yaourt
, возможно, стоит также проверить целостность установленных пакетов и их зависимостей. Для этого вы можете использовать команду:sudo pacman -Dk
Это проверит целостность файлов, и если будут обнаружены проблемы, постарается их исправить.
-
Очистка кэша: Если после всех обновлений и переустановок ошибка все еще сохраняется, попробуйте очистить кэш пакетов:
sudo pacman -Scc
После этого повторите установку упомянутых библиотек.
-
Проверка установленного программного обеспечения: Если какие-либо программы, например, Firefox или Mousepad, по-прежнему выдают ошибки, вы можете попробовать переустановить их:
sudo pacman -S --needed firefox mousepad
-
Дополнительная информация: В случае если ни одно из вышеизложенного не помогло, вам может быть полезно изучить логи системы, такие как
/var/log/Xorg.0.log
иdmesg
, чтобы выявить более подробную информацию о происходящем. -
Проверка версии библиотек: Убедитесь, что в системе не установлены конфликтующие версии библиотек. Используйте команду
ldd
для проверки необходимой версии библиотек для вашего приложения:ldd $(which firefox)
Это обеспечит вам понимание, какие именно версии библиотек загружаются.
Следуя этим шагам, вы должны решить проблемы, связанные с GTK-приложениями после обновления. Если проблемы продолжаются, возможно, стоит обратиться к сообществу пользователей вашего дистрибутива для получения дальнейшей помощи, так как подобные ошибки могут также быть связаны с конкретными изменениями в новых версиях программного обеспечения.