在yocto中编译golang包
php小编草莓为您介绍在yocto中编译golang包的方法。Yocto是一个开源的嵌入式Linux构建系统,而Golang是一种强大的编程语言,将它们结合起来可以为嵌入式设备开发提供更多的灵活性和效率。编译golang包需要一些特定的步骤和配置,我们将在本文中详细介绍如何在yocto中成功完成这一过程。无论您是初学者还是有经验的开发人员,本文都将为您提供有用的指导和提示,让您轻松掌握在yocto中编译golang包的技巧。
问题内容
我正在尝试编写一个 yocto 配方来编译 https://github.com/bluenviron/mediamtx 包,该包是在 golang 上编写的。无论如何,我无法获取构建二进制文件的包。我对 go 几乎没有经验。
到目前为止,我已经成功地获得了从 git 克隆正确版本并使用正确的 lic_files_chksum 的方法,但我正在努力让它从源代码中实际生成二进制文件。
SUMMARY = "mediamtx RTSP server"
HOMEPAGE = "https://github.com/bluenviron/mediamtx"
SECTION = "multimedia"
LICENSE = "MIT"
inherit goarch pkgconfig
#GO_IMPORT = "github.com/bluenviron/mediamtx"
LIC_FILES_CHKSUM = "file://LICENSE;md5=77fd2623bd5398430be5ce60489c2e81"
class="lazy" data-src_URI = "git://github.com/bluenviron/mediamtx;branch=main"
S = "${WORKDIR}/git"
class="lazy" data-srcREV = "21756a4d54152872cda48469861147ee652df922"
FILES_${PN} += "${GOBIN_FINAL}/*"
DEPENDS += "\
go \
python \
"
do_install_append() {
cp ${D}${bindir}/mediamtx ${D}${bindir}/${BPN}
}
如果我删除 do_install_append
,那么配方会成功构建,但它不会编译代码来创建二进制文件 - 这对我来说似乎很明显,因为没有 do_compile
部分。我似乎找不到任何信息告诉我如何编译它。
如果有人能够为我提供这个包的 yocto 食谱,那就太好了,如果没有,那么任何类型的帮助/指导都会受到赞赏。谢谢。
解决方法
我也遇到了同样的问题,这对我有用。
SUMMARY = "MediaMTX / rtsp-simple-server is a ready-to-use and zero-dependency server and proxy that allows users to publish, read and proxy live video and audio streams."
GO_IMPORT = "github.com/bluenviron/mediamtx"
HOMEPAGE = "https://${GO_IMPORT}"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://class="lazy" data-src/${GO_IMPORT}/LICENSE;md5=77fd2623bd5398430be5ce60489c2e81"
class="lazy" data-src_URI = "git://${GO_IMPORT};branch=main;protocol=https"
class="lazy" data-srcREV = "65f617aa7c326f491c4f4f4a4d52beea3bd6abc7"
GO_INSTALL = "${GO_IMPORT}"
do_compile[network] = "1"
# build executable instead of shared object
GO_LINKSHARED = ""
GOBUILDFLAGS:remove = "-buildmode=pie"
inherit go-mod
FILES:${PN} += "/usr/local/bin"
我正在使用 yocto 的 kirkstone 版本。
以上就是在yocto中编译golang包的详细内容,更多请关注编程网其它相关文章!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341