안녕하세요.
- openssl
현재 D3-G에서 사용하고 있는 Yocto는 Kirkstone 4.0.17 입니다.
poky/meta/recipes-connectivity/openssl에 보시면 openssl_3.0.13.bb 파일을 보실 수 있습니다.
즉, 현재 빌드 시스템에서는 Openssl 3 버전을 지원하고 있습니다.
populate_sdk 를 통해 뽑혀진 바이너리들을 확인해 보셔도, libssl.so와 libssl.so.3 이 존재하는 것을 보실 수 있습니다.
이 환경에서, 이미 deprecated 된 오래된 openssl 1.x 버전을 사용하고자 하신다면, 별도로 layer를 추가하시면 되고
사용하고자 하는 패키지에 DEPENDS와 PREFERRED_PROVIDER_openssl PREFERRED_PROVIDER_libssl 을 각각 1.0 버전으로 명시하시고 사용하셔야 합니다.
(현재 github에 다음 경로에 있네요. NewMai/openssl-1.0.2: OpenSSL-1.0.2 for backup)
사용하시는 QT5 가 openssl 1.0을 사용하기 위해서는 그에 맞게 빌드가 되어 있어야 할 텐데, libQt5Network.so 와의 관련성은 잘 모르겠습니다.
다만, 사용하고 계시는 QT5가 openssl 1.0 target으로 빌드되어 있다면 libssl.so.1.0.x와 libcrypto.so.1.0.x 가 있어야 하고 앞서 말씀드린데로 openssl1.0 버전을 별도로 layer를 추가해 빌드하고 결과물들을 LD_LIBRARY_PATH (=/usr/lib/)에 넣어 두시면 될 것으로 보입니다.
- https 프로토콜
https 프로토콜은 범용적으로 사용되는 것이라, 가용한 패키지들을 설치하면 얼마든지 사용이 가능하십니다.
yocto에 설치된 기본 패키지인 curl 을 사용하셔도 동작하는 것을 확인하실 수 있습니다.
$ curl https://www.google.com
1번 내용과 연계해 유추해 보자면 QT5 앱에서 https 접근을 위해 libssl.1.0.x 환경이 필요하신 것으로 판단됩니다.
말씀드린대로 꼭 필요하시다면 libssl.1.0.x 의 layer를 추가해 사용하시거나, openssl 1.0 open source tar를 sdk 패키지로 별도 빌드하신다음, lib 폴더에 넣어두시고 사욯하시면 되지 싶습니다.
사실, libssl.3 환경을 사용하는 QT5를 사용하시는 것이 좋을 것으로 보입니다.
추가 질문 있으시면 댓글 달아 주세요.
고맙습니다.
===========================================
추가 ) 내부 확인 결과 D3-P 보드를 사용 중 이신가 보네요.
그렇다면, opensource community 에서 필요한 openssl 1.0.x 버전의 tar 묶음을 구하셔서, sdk 패키지로 별도로 lib 빌드를 하신 다음, 그것을 보드의 /usr/lib 폴더에 넣고 (libssl.so.1.0.x, libssl.so) 사용하시면 될 것 같습니다.
앞서 별도로 확보하신 openssl 1.0 버전이 현재 사용하고 있는 QT5 빌드와 맞는 버전인지 확인도 필요합니다.
사용하신 1.0.2.u 버전의 로그는 recipe의 preferred version을 확인하지 못하는 문제로, bb 파일의 설정을 다시 확인해 보시기 바랍니다.