Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Susun pakej golang dalam yocto

Susun pakej golang dalam yocto

WBOY
WBOYke hadapan
2024-02-09 20:10:09611semak imbas

Susun pakej golang dalam yocto

php editor Strawberry akan memperkenalkan anda kepada kaedah penyusunan pakej golang dalam yocto. Yocto ialah sistem binaan Linux terbenam sumber terbuka, dan Golang ialah bahasa pengaturcaraan yang berkuasa Menggabungkan mereka boleh memberikan lebih fleksibiliti dan kecekapan untuk pembangunan peranti terbenam. Menyusun pakej golang memerlukan beberapa langkah dan konfigurasi khusus, dan kami akan memperincikan cara untuk berjaya menyelesaikan proses ini dalam yocto dalam artikel ini. Sama ada anda seorang pemula atau pembangun yang berpengalaman, artikel ini akan memberikan anda panduan dan petua berguna untuk menguasai kemahiran menyusun pakej golang dalam Yocto dengan mudah.

Kandungan soalan

Saya cuba menulis resipi yocto untuk menyusun pakej https://github.com/bluenviron/mediamtx, yang ditulis pada golang. Bagaimanapun, saya tidak boleh mendapatkan pakej untuk membina binari. Saya mempunyai sedikit pengalaman dengan go.

Setakat ini saya telah berjaya mendapatkannya untuk mengklon versi yang betul dari git dan menggunakan lic_files_chksum yang betul, tetapi saya sedang bergelut untuk mendapatkannya untuk benar-benar menjana binari daripada sumber.

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"

SRC_URI = "git://github.com/bluenviron/mediamtx;branch=main"

S = "${WORKDIR}/git"

SRCREV = "21756a4d54152872cda48469861147ee652df922"

FILES_${PN} += "${GOBIN_FINAL}/*"


DEPENDS += "\
        go \
        python \
"

do_install_append() {
    cp ${D}${bindir}/mediamtx ${D}${bindir}/${BPN}
}

Jika saya keluarkan bahagian do_install_append ,那么配方会成功构建,但它不会编译代码来创建二进制文件 - 这对我来说似乎很明显,因为没有 do_compile. Saya nampaknya tidak dapat mencari sebarang maklumat yang memberitahu saya cara menyusunnya.

Alangkah baiknya jika sesiapa boleh memberikan saya resipi yocto untuk beg ini, jika tidak maka sebarang bantuan/tunjuk ajar akan dihargai. Terima kasih.

Penyelesaian

Saya mengalami masalah yang sama dan ini berkesan untuk saya.

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://src/${GO_IMPORT}/LICENSE;md5=77fd2623bd5398430be5ce60489c2e81"

SRC_URI = "git://${GO_IMPORT};branch=main;protocol=https"
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"

Saya menggunakan yocto versi kirkstone.

Atas ialah kandungan terperinci Susun pakej golang dalam yocto. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:stackoverflow.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam