Проблема с приложениями GTK

Вопрос или проблема

Я выполнил обновление с помощью 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, как вы уже сами выяснили. Вот шаги, которые вы можете предпринять для решения этой проблемы:

  1. Обновление библиотек Pango и Harfbuzz: Поскольку ошибка указывает на недостающий символ hb_buffer_set_cluster_level, это может означать, что ваша библиотека Harfbuzz устарела или несовместима с текущей версией Pango. Убедитесь, что обе библиотеки обновлены до последних стабильных версий. Выполните следующие команды:

    sudo pacman -Syu pango harfbuzz

    Это обновит Pango и Harfbuzz до последних доступных версий в репозиториях.

  2. Переустановка библиотек: В случае, если обновление не решит проблему, вы можете попытаться переустановить Pango и Harfbuzz:

    sudo pacman -S --needed pango harfbuzz
  3. Проверка целостности библиотек и зависимостей: Если вы пользовались yaourt, возможно, стоит также проверить целостность установленных пакетов и их зависимостей. Для этого вы можете использовать команду:

    sudo pacman -Dk

    Это проверит целостность файлов, и если будут обнаружены проблемы, постарается их исправить.

  4. Очистка кэша: Если после всех обновлений и переустановок ошибка все еще сохраняется, попробуйте очистить кэш пакетов:

    sudo pacman -Scc

    После этого повторите установку упомянутых библиотек.

  5. Проверка установленного программного обеспечения: Если какие-либо программы, например, Firefox или Mousepad, по-прежнему выдают ошибки, вы можете попробовать переустановить их:

    sudo pacman -S --needed firefox mousepad
  6. Дополнительная информация: В случае если ни одно из вышеизложенного не помогло, вам может быть полезно изучить логи системы, такие как /var/log/Xorg.0.log и dmesg, чтобы выявить более подробную информацию о происходящем.

  7. Проверка версии библиотек: Убедитесь, что в системе не установлены конфликтующие версии библиотек. Используйте команду ldd для проверки необходимой версии библиотек для вашего приложения:

    ldd $(which firefox)

    Это обеспечит вам понимание, какие именно версии библиотек загружаются.

Следуя этим шагам, вы должны решить проблемы, связанные с GTK-приложениями после обновления. Если проблемы продолжаются, возможно, стоит обратиться к сообществу пользователей вашего дистрибутива для получения дальнейшей помощи, так как подобные ошибки могут также быть связаны с конкретными изменениями в новых версиях программного обеспечения.

Оцените материал
Добавить комментарий

Капча загружается...