使用yocto-project“无此类文件或目录”构建映像时,do_compile失败

时间:2019-05-31 14:45:26

标签: linux yocto

嗨,我尝试将git(https://github.com/sigysmund/meta-lora-net)的一层附加到我的图像上,每当我尝试烘烤一种配方(另一种有效)时,我都会收到此错误消息:

错误:lora-pkt-fwd-4.0.1-r0 do_configure:oe_runmake失败 错误:lora-pkt-fwd-4.0.1-r0 do_configure:功能失败:do_configure(日志文件位于/home/kilian/mlinux-4.x/build/tmp/work/arm926ejste-mlinux-linux-gnueabi/ lora-pkt-fwd / 4.0.1-r0 / temp / log.do_configure.23440) 错误:失败的日志文件存储在:/home/kilian/mlinux-4.x/build/tmp/work/arm926ejste-mlinux-linux-gnueabi/lora-pkt-fwd/4.0.1-r0/temp/log.do_configure .23440

(有关完整消息,请参阅最后一部分)

我已经尝试编辑bb文件。

我将DEPENDS更改为l“ ora-gateway pkgconfig”,而不仅仅是名称,因为我在另一个页面上阅读,这会产生问题,但是并没有帮助。 这是食谱的bb文件:

SUMMARY = "LoRa network packet forwarder project"
SECTION = "libs/network"
LICENSE = "MIT"
LIC_FILES_CHKSUM =                "file://LICENSE;md5=22af7693d7b76ef0fc76161c4be76c45"

SRC_URI = "https://github.com/Lora-net/packet_forwarder/archive/v${PV}.tar.gz"

SRC_URI[md5sum] = "a1f942e0cc7b02d604b11c8cb5f2a029"
SRC_URI[sha256sum] = "e68fadf6f1d2e5e7b601e504d5efb48b0a8f374c2c29c0476ab2fe9db68d33ae"

#old: DEPENDS += "lora-gateway" 
# since new release of yocto you should add pkg-config
DEPENDS += "lora-gateway pkgconfig"

S = "${WORKDIR}/packet_forwarder-${PV}"

CFLAGS_append = "-I ${includedir}/libloragw -I ${S}/lora_pkt_fwd/inc -I ${S}/util_tx_test/inc "

do_configure_prepend() {
export LGW_PATH="${STAGING_LIBDIR}/libloragw"
}

do_compile_prepend() {
    export LGW_PATH="${STAGING_LIBDIR}/libloragw"
}

do_install() {
install -d ${D}${bindir}
install -d ${D}${docdir}/lora-pkt-fwd/conf

install ${B}/lora_pkt_fwd/lora_pkt_fwd ${D}${bindir}
install ${B}/util_*/util_* ${D}${bindir}

install -D -m 0644 ${S}/PROTOCOL.TXT ${D}${docdir}/lora-pkt-fwd/PROTOCOL.TXT
install -D -m 0644 ${S}/lora_pkt_fwd/readme.md ${D}${docdir}/lora-pkt-fwd/readme.md
install -D -m 0644 ${S}/lora_pkt_fwd/global_conf.json ${D}${docdir}/lora-pkt-fwd/global_conf.json
install -D -m 0644 ${S}/lora_pkt_fwd/local_conf.json ${D}${docdir}/lora-pkt-fwd/local_conf.json
install -D -m 0755 ${S}/lora_pkt_fwd/update_gwid.sh ${D}${docdir}/lora-pkt-fwd
install -D -m 0644 ${S}/lora_pkt_fwd/cfg/*.json.* ${D}${docdir}/lora-pkt-fwd/conf

rm -f ${D}${bindir}/util_tx_test
rm -f ${D}${bindir}/.debug/util_tx_test
}

PACKAGE_DEBUG_SPLIT_STYLE = "debug-without-src"

PACKAGES = "${PN}-dbg ${PN} ${PN}-doc"

# Avoid QA Issue: No GNU_HASH in the elf binary
INSANE_SKIP_${PN} = "ldflags"

FILES_${PN}-dbg = " \
    ${bindir}/.debug \
"
FILES_${PN} = " \
    ${bindir}/* \
"
FILES_${PN}-doc = " \
    ${docdir} \
"

完整错误是:

错误:lora-pkt-fwd-4.0.1-r0 do_configure:oe_runmake失败 错误:lora-pkt-fwd-4.0.1-r0 do_configure:功能失败:do_configure(日志文件位于/home/kilian/mlinux-4.x/build/tmp/work/arm926ejste-mlinux-linux-gnueabi/ lora-pkt-fwd / 4.0.1-r0 / temp / log.do_configure.23440) 错误:失败的日志文件存储在:/home/kilian/mlinux-4.x/build/tmp/work/arm926ejste-mlinux-linux-gnueabi/lora-pkt-fwd/4.0.1-r0/temp/log.do_configure .23440

日志数据如下: |调试:执行python函数sysroot_cleansstate |调试:Python函数sysroot_cleansstate完成 |调试:执行shell函数do_configure |注意:清洁 |错误:oe_runmake失败 |清理-e -C lora_pkt_fwd | make [1]:进入目录/home/kilian/mlinux-4.x/build/tmp/work/arm926ejste-mlinux-linux-gnueabi/lora-pkt-fwd/4.0.1-r0/packet_forwarder-4.0.1/lora_pkt_fwd' | Makefile:17: /home/kilian/mlinux-4.x/build/tmp/sysroots/mtcdt/usr/lib/libloragw/library.cfg: No such file or directory | make[1]: *** No rule to make target / home / kilian / mlinux-4.x / build / tmp / sysroots / mtcdt / usr / lib / libloragw / library.cfg。停止。 | make [1]:离开目录`/home/kilian/mlinux-4.x/build/tmp/work/arm926ejste-mlinux-linux-gnueabi/lora-pkt-fwd/4.0.1-r0/packet_forwarder-4.0.1 / lora_pkt_fwd' | make:*** [clean]错误2 |警告:从shell命令退出代码1。 |错误:功能失败:do_configure(日志文件位于/home/kilian/mlinux-4.x/build/tmp/work/arm926ejste-mlinux-linux-gnueabi/lora-pkt-fwd/4.0.1-r0/temp /log.do_configure.23440) 错误:任务(/home/kilian/mlinux-4.x/layers/meta-custom/recipes-wireless/lora-pkt-fwd/lora-pkt-fwd_4.0.1.bb:do_configure)失败,退出代码为'1' 注意:任务摘要:尝试了1590个任务,其中1580个不需要重新运行,而1个失败。

摘要:1个任务失败:   /home/kilian/mlinux-4.x/layers/meta-custom/recipes-wireless/lora-pkt-fwd/lora-pkt-fwd_4.0.1.bb:do_configure 摘要:显示了1条警告消息。 摘要:显示了2条ERROR消息,返回了非零的退出代码。

我知道这与libloragw / library.cfg文件有关,但是由于已导入该文件,而且我对这些脚本的了解不多,所以找不到错误。

任何提示都非常感谢!

P.s我没有包括日志文件,因为其中的所有内容都已包含在日志数据中,并遵循部分错误。如果需要,我可以上传。

编辑: 谢谢jku,附加CLEANBROKEN =“ 1”修复了此错误。 可悲的是我得到了一个新的:

错误:lora-pkt-fwd-4.0.1-r0 do_compile:oe_runmake失败 错误:lora-pkt-fwd-4.0.1-r0 do_compile:功能失败:do_compile(日志文件位于/home/kilian/mlinux-4.x/build/tmp/work/arm926ejste-mlinux-linux-gnueabi/ lora-pkt-fwd / 4.0.1-r0 / temp / log.do_compile.24486) 错误:失败的日志文件存储在:/home/kilian/mlinux-4.x/build/tmp/work/arm926ejste-mlinux-linux-gnueabi/lora-pkt-fwd/4.0.1-r0/temp/log.do_compile .24486 日志数据如下: |调试:执行shell函数do_compile |注意:make -j 2 |错误:oe_runmake失败 |使所有-e -C lora_pkt_fwd | make [1]:进入目录/home/kilian/mlinux-4.x/build/tmp/work/arm926ejste-mlinux-linux-gnueabi/lora-pkt-fwd/4.0.1-r0/packet_forwarder-4.0.1/lora_pkt_fwd' | Makefile:17: /home/kilian/mlinux-4.x/build/tmp/sysroots/mtcdt/usr/lib/libloragw/library.cfg: No such file or directory | make[1]: *** No rule to make target / home / kilian / mlinux-4.x / build / tmp / sysroots / mtcdt / usr / lib / libloragw / library.cfg。停止。 | make [1]:离开目录`/home/kilian/mlinux-4.x/build/tmp/work/arm926ejste-mlinux-linux-gnueabi/lora-pkt-fwd/4.0.1-r0/packet_forwarder-4.0.1 / lora_pkt_fwd' |制作:*** [全部]错误2 |警告:从shell命令退出代码1。 |错误:功能失败:do_compile(日志文件位于/home/kilian/mlinux-4.x/build/tmp/work/arm926ejste-mlinux-linux-gnueabi/lora-pkt-fwd/4.0.1-r0/temp /log.do_compile.24486)

因此libloragw / library.cfg文件仍然存在问题

我确实检查过,并且DEPENDS变量给出的配方中有这样一个文件,所以我猜包括它和相应的命令不起作用

CFLAGS_append = "-I ${includedir}/libloragw -I ${S}/lora_pkt_fwd/inc -I ${S}/util_tx_test/inc "

do_configure_prepend() {
export LGW_PATH="${STAGING_LIBDIR}/libloragw"
}

do_compile_prepend() {
    export LGW_PATH="${STAGING_LIBDIR}/libloragw"
}

但是我仍然不知道要编辑什么,所以任何帮助都是宝贵的。

1 个答案:

答案 0 :(得分:0)

| DEBUG: Executing shell function do_configure 
| NOTE: make clean
| ERROR: oe_runmake failed
| make clean -e -C lora_pkt_fwd

Yocto / OpenEmbedded试图在配置过程中运行“ make clean”,以确保可复制的构建,但是此特定项目无法完全这样做。您可以修复项目(修补Makefile)或添加

CLEANBROKEN = "1"

食谱:这样OpenEmbedded不会在configure上运行make clean。