Вопрос или проблема
Я довольно новичок в Linux и пользовался Fedora 37. Когда вышел новый релиз Fedora 38, я решил обновиться. После этого Davinci Resolve перестал работать. Он даже не запускается, я просто вижу кружок, как будто он загружается, а затем он тихо вылетает.
Когда я пытаюсь запустить его из opt/resolve/bin/resolve через терминал, я получаю следующее: ./resolve: ошибка поиска символов: /lib64/libpango-1.0.so.0: неопределённый символ: g_string_free_and_steal, о чём, после поиска в Google, я всё равно не уверен.
Я попытался полностью удалить его и переустановить, но проблема осталась. Если кто-то может объяснить, как исправить ошибку поиска символов или просто, что пошло не так, я был бы признателен.
Запуск Resolve из терминала с использованием следующего предварительного загрузчика позволяет ему работать без изменения установки:
export LD_PRELOAD="/usr/lib64/libglib-2.0.so"
Davinci Resolve использует свои собственные библиотеки вместо системных, но не все из них. Он загружает libpango из системы, которая, в свою очередь, загружает glib2 из директории библиотек Resolve (/opt/resolve/libs), хотя ему нужна системная версия glib2 или более новая версия.
Вы можете просто скопировать системную библиотеку в папку библиотек Resolve, и она снова начнет работать:
sudo cp /lib64/libglib-2.0.* /opt/resolve/libs/
Спасибо этому комментарию на Reddit комментарий, который помог мне понять проблему.
Копирование библиотек, как упомянул @talk2arpan, работает. Но удаление библиотек Resolve чище, на мой взгляд, поэтому обновления работают. Когда собственные библиотеки Resolve удалены, он автоматически использует системные.
sudo rm /opt/resolve/libs/libglib-2.0.so*
Первый запуск выдает пустой экран. Второй и последующие работают нормально.
Ответ или решение
Проблема с запуском DaVinci Resolve после обновления с Fedora 37 до Fedora 38
Ваша проблема, связанная с невозможностью запуска DaVinci Resolve после обновления системы до Fedora 38, достаточно распространена среди пользователей, которые перешли на новую версию дистрибутива. Как вы указали, ошибка, появляющаяся при запуске, связана с библиотекой libpango
, и в частности с символом g_string_free_and_steal
.
Причины возникновения проблемы
После обновления с Fedora 37 на Fedora 38 возможно, что изменились версии некоторых библиотек, которые использует DaVinci Resolve. Программа зависит от системных библиотек, но одновременно она также имеет свои собственные версии библиотек, находящихся в каталоге /opt/resolve/libs
.
Ошибка symbol lookup error: /lib64/libpango-1.0.so.0: undefined symbol: g_string_free_and_steal
указывает на то, что библиотека libpango
пытается вызвать функцию из библиотеки glib
, которая, скорее всего, не доступна или имеет другую версию, чем та, что требуется.
Возможные решения
-
Использование переменной окружения LD_PRELOAD:
Ваша заметка о том, что можно использоватьLD_PRELOAD
, чтобы запустить DaVinci Resolve, — это обходной путь, который позволяет программе использовать версию библиотекиglib-2.0
из системы, минуя те, что установлены в директории Resolve:export LD_PRELOAD="/usr/lib64/libglib-2.0.so" ./resolve
Этот метод работает, но может не всегда быть оптимальным решением, так как он требует ручного вмешательства каждый раз, когда вы запускаете программу.
-
Копирование системных библиотек в директорий Resolve:
Как вы упомянули, копирование системной версии библиотеки в каталог Resolve также является вариантом решения:sudo cp /lib64/libglib-2.0.* /opt/resolve/libs/
Этот подход заставит Resolve использовать версию
glib
, которая соответствует текущей системе, и устранит ошибку. -
Удаление конфликтующих библиотек:
Чтобы избежать потенциальных проблем с обновлением в будущем, можно удалить библиотеки, которые поставляются с DaVinci Resolve, чтобы разрешить конфликт:sudo rm /opt/resolve/libs/libglib-2.0.so*
После удаления при первом запуске DaVinci Resolve может появиться черный экран, но повторный запуск должен пройти нормально.
Заключение
Если DaVinci Resolve не запускается после обновления на Fedora 38, это может быть связано с конфликтами библиотек. Описанные выше методы позволяют решить проблему, выбирая между временным решением с использованием LD_PRELOAD
, копированием системных библиотек или удалением конфликтующих библиотек.
Кроме того, старайтесь следить за обновлениями DaVinci Resolve и Fedora, так как разработчики могут выпускать исправления для известных проблем совместимости. Если проблема не удается устранить, обратитесь к официальной поддержке или сообществу Fedora для получения более конкретной помощи.