Вопрос или проблема
Мы находимся в процессе обновления 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 и может быть необходим для корректной работы системы сборки. Вот несколько шагов, которые вы можете предпринять:
-
Проверка наличия perlpath.pl:
- Убедитесь, что файл
perlpath.pl
действительно отсутствует в исходниках OpenSSL 3.3.2. Возможно, его следует сгенерировать или скопировать из другой версии.
- Убедитесь, что файл
-
Установка зависимостей:
- Убедитесь, что у вас установлены все необходимые пакеты для сборки OpenSSL. В частности, проверьте наличие Perl и его модулей, так как OpenSSL 3.3.2 может требовать установки определённых модулей.
-
Конфигурация сборки:
- Если
perlpath.pl
отсутствует, вы можете попробовать:- Скомпилировать OpenSSL с уменьшенной функциональностью (например, без использования
perlpath.pl
). - Установить переменные окружения, такие как
PERL
, указывающие на корректное расположение Perl.
- Скомпилировать OpenSSL с уменьшенной функциональностью (например, без использования
- Если
-
Использование патчей:
- Хотя у вас могут быть патчи для версии 1.0.2, рекомендуется найти или создать патчи, которые будут совместимы с OpenSSL 3.3.2. Если у вас есть исходный код изменений, которые вы использовали для 1.0.2, вам может потребоваться адаптировать их для работы с новой версией.
- В реестрах разработчиков, таких как GitHub, можно найти уже существующие патчи для OpenSSL 3.3.2, которые могут помочь в решении специфических проблем.
-
Документация и ресурсы:
- Ознакомьтесь с официальной документацией 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, чтобы получить более целенаправленную помощь. Удачи с вашим обновлением!