libharfbuzz.so.0: неопределённый символ: FT_Get_Tramsform

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

Программы, созданные с помощью Lazarus, не запускаются на Ubuntu 24.04. На более старых дистрибутивах они работают нормально. Сообщение об ошибке:

ошибка поиска символа: /lib/x86_64-linux-gpu/libharfbuzz.so.0: неопределенный символ: FT_Get_Transform

Похоже, это связано с libfreetype. Я установил libfreetype через официальный репозиторий. Есть ли помощь?

Ответ или решение

Проблема, с которой вы столкнулись, связана с отсутствием символа FT_Get_Transform в библиотеке libfreetype. Этот символ был введён в более поздних версиях библиотеки FreeType, и ошибка указывает на то, что ваша версия FreeType не поддерживает этот функционал.

Вот шаги, которые помогут вам решить данную проблему:

  1. Проверьте установленную версию FreeType:
    Откройте терминал и выполните следующую команду, чтобы проверить, какая версия библиотеки FreeType установлена на вашем компьютере:

    dpkg -l | grep freetype
  2. Обновите библиотеку FreeType:
    Если установленная версия ниже необходимой, выполните обновление пакетов системы:

    sudo apt update
    sudo apt upgrade
    sudo apt install --reinstall libfreetype6
  3. Убедитесь, что библиотека совместима:
    Если вы установили более новые версии библиотек из PPA или другого стороннего репозитория, попытайтесь удалить их и установить версии из официального репозитория Ubuntu. Это можно сделать следующим образом:

    sudo apt remove libfreetype6
    sudo apt install libfreetype6
  4. Проверьте зависимости:
    Используйте ldd, чтобы проверить зависимости библиотеки libharfbuzz.so.0:

    ldd /lib/x86_64-linux-gpu/libharfbuzz.so.0

    Убедитесь, что все зависимости верно разрешены и установлены.

  5. Обновление системы:
    Если проблема по-прежнему не решена, возможно, в вашей системе могут быть неподходящие или конфликтующие версии библиотек. Рассмотрите возможность выполнения полной обновления системы:

    sudo apt full-upgrade
  6. Сборка из исходного кода:
    В крайних случаях можно рассмотреть возможность сборки libfreetype и libharfbuzz из исходников для обеспечения совместимости и наличия всех необходимых функций. Однако этот процесс может потребовать дополнительных усилий и знания работы с CMake или автоматическими скриптами сборки.

  7. Документация и поддержка:
    Если вы всё ещё не можете решить проблему, загляните в официальную документацию библиотек FreeType и HarfBuzz, а также на форумы и сообщества поддержки. Возможно, другие пользователиEncountered similar issues and can provide additional insights.

Следуя этим шагам, вы сможете устранить ошибку undefined symbol: FT_Get_Transform и запустить ваши программы, созданные с помощью Lazarus, на Ubuntu 24.04.

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

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