Требуется помощь в обновлении OpenSSL 3.3.2 в Yocto

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

Мы находимся в процессе обновления OpenSSL с версии 1.0.2 до 3.3.2 в нашей среде Yocto (Pyro). Во время сборки мы столкнулись с проблемой, связанной с этапом конфигурации. Конкретный лог ошибок выглядит следующим образом:

| DEBUG: Выполнение командной функции do_configure
| Не удается открыть perl-скрипт “perlpath.pl”: Нет такого файла или каталога
| WARNING: код выхода 2 из командного интерпретатора.
| ERROR: Функция не выполнена: do_configure

Похоже, что скрипт perlpath.pl отсутствует, и нам не удалось найти патч или решение для устранения этой проблемы. Можете ли вы предоставить руководство о том, как решить эту проблему?

Заранее благодарю вас за помощь

Я ожидаю, как обновить OpenSSL с версии 1.0.2 до 3.3.2. Есть ли доступный патч для версии 3.3.2 libssl Y, потому что у меня есть патчи для версии 1.0.2? Если найдутся патчи, это будет полезно, или есть какие-то идеи, как это решить?

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

Обновление OpenSSL с версии 1.0.2 до 3.3.2 в среде Yocto (Pyro) может быть сложной задачей, особенно когда возникают ошибки конфигурации, как в вашем случае. Давайте разберем, как можно решить вашу проблему.

Решение проблемы с отсутствием perlpath.pl

Ошибка, которую вы наблюдаете, указывает на то, что скрипт perlpath.pl отсутствует. Этот скрипт обычно используется при конфигурации OpenSSL и может быть необходим для корректной работы системы сборки. Вот несколько шагов, которые вы можете предпринять:

  1. Проверка наличия perlpath.pl:

    • Убедитесь, что файл perlpath.pl действительно отсутствует в исходниках OpenSSL 3.3.2. Возможно, его следует сгенерировать или скопировать из другой версии.
  2. Установка зависимостей:

    • Убедитесь, что у вас установлены все необходимые пакеты для сборки OpenSSL. В частности, проверьте наличие Perl и его модулей, так как OpenSSL 3.3.2 может требовать установки определённых модулей.
  3. Конфигурация сборки:

    • Если perlpath.pl отсутствует, вы можете попробовать:
      • Скомпилировать OpenSSL с уменьшенной функциональностью (например, без использования perlpath.pl).
      • Установить переменные окружения, такие как PERL, указывающие на корректное расположение Perl.
  4. Использование патчей:

    • Хотя у вас могут быть патчи для версии 1.0.2, рекомендуется найти или создать патчи, которые будут совместимы с OpenSSL 3.3.2. Если у вас есть исходный код изменений, которые вы использовали для 1.0.2, вам может потребоваться адаптировать их для работы с новой версией.
    • В реестрах разработчиков, таких как GitHub, можно найти уже существующие патчи для OpenSSL 3.3.2, которые могут помочь в решении специфических проблем.
  5. Документация и ресурсы:

    • Ознакомьтесь с официальной документацией OpenSSL для получения информации о миграции между версиями и изменениях в конфигурации.
    • Откройте разделы форума Yocto или специализированные сообщества, такие как mailing list, для получения дополнительных рекомендаций от разработчиков.

Пример конфигурации для Yocto

Для того чтобы добавить OpenSSL 3.3.2 в ваш Yocto проект, вам может понадобиться модифицировать ваш .bb файл (битблет) следующим образом:

DESCRIPTION = "OpenSSL 3.3.2"
LICENSE = "OpenSSL"
SRC_URI = "https://www.openssl.org/source/openssl-${PV}.tar.gz"
S = "${WORKDIR}/openssl-${PV}"

inherit autotools

do_configure() {
    # Убедитесь, что perlpath.pl доступен или иное
    if [ ! -f ${S}/perlpath.pl ]; then
        echo "perlpath.pl не найден. Убедитесь, что он сгенерирован или доступен."
        exit 1
    fi
    ./Configure linux-generic32 --prefix=${STAGING_DIR} --openssldir=${STAGING_DIR}/openssl
}

Заключение

Обновление OpenSSL — это процесс, требующий тщательного обращения к зависимостям и конфигурации. Обеспечьте наличие всех необходимых файлов, проверьте зависимости и адаптируйте доступные патчи под новую версию. Если проблемы сохраняются, попробуйте обратиться в сообщество YaOcto или OpenSSL, чтобы получить более целенаправленную помощь. Удачи с вашим обновлением!

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

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