【问题标题】:How to include correct libssl version into yocto-build to run .net-core application?如何在 yocto-build 中包含正确的 libssl 版本以运行 .net-core 应用程序?
【发布时间】:2019-06-06 10:56:26
【问题描述】:

我想在自定义嵌入式 linux(在树莓派 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 应用程序,我会收到一条错误消息 “未找到可用的 libssl”并终止应用程序。

我检查了 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-core openssl raspberry-pi3 yocto


    【解决方案1】:

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

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

    (libssl10,不是 openssl10)

    【讨论】:

    • 谢谢,那行得通。所以,libssl10 没有被拉进来,因为其他包没有运行时依赖? ...如果我直接引用共享库,它会“硬包含”到图像中?
    猜你喜欢
    • 2018-12-13
    • 2022-01-24
    • 1970-01-01
    • 2021-05-21
    • 2022-01-18
    • 1970-01-01
    • 2018-06-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多