如何将正确的 libssl 版本包含到 yocto-build 到 运行 .net-core 应用程序中?

How to include correct libssl version into yocto-build to run .net-core application?

我想 运行 在自定义嵌入 linux(在 raspberry pi 3 板上)上的自包含 .net-core 应用程序。为了构建 linux 发行版,我将 yocto(thud 分支)与 meta-raspberry 层一起使用。 为了满足 .net-core 的依赖关系,我创建了一个图像配方,其中包括此处描述的附加包:https://github.com/dotnet/core/blob/master/samples/YoctoInstructions.md

"libunwind icu libcurl openssl"

yocto 编译成功。但是如果我 运行 我的自包含 .net-core 应用程序,我会收到一条错误消息 "No usable libssl was found" 并且应用程序终止。

我检查了 rootfs 中的 libssl 部署。 Libssl 在那里,但我认为版本错误:libssl.so.1.1。 如果我没弄错的话,.net-core 需要 1.0 版的 openssl。所以我尝试将 openssl10 包包含到我的图像中。

这是我当前的图像配方:

SUMMARY = "Linux Image which supports .net executables"

include recipes-core/images/core-image-base.bb

IMAGE_INSTALL += "libunwind icu libcurl openssl10 curl"


LICENSE = "MIT"

图像构建也成功完成。但只有 libssl.so.1.1 包含在 rootfs 中。

不可以安装两个不同版本的openssl吗? (libssl.so.1.1 被其他一些食谱拉进来了) 或者,这不是版本问题,而是其他一些依赖问题?

如果 .net 应用程序是通过 Yocto 配方打包的,请向其添加 openssl10 依赖项。

否则使用: IMAGE_INSTALL += "libunwind icu libcurl libssl10 curl"

(libssl10,不是 openssl10)