我想在自定义嵌入式Linux上运行一个自包含的.net-core应用程序(在raspberry pi 3板上)。为了构建linux发行版,我使用yocto(thud branch)和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被其他一些食谱所吸引)或许,它不是版本问题,而是一些其他的倾向问题?
如果通过Yocto配方打包.net应用程序,请添加openssl10依赖项。
否则使用:IMAGE_INSTALL + =“libunwind icu libcurl libssl10 curl”
(libssl10,而不是openssl10)