gpt4 book ai didi

yocto - do_rootfs 在 yocto 构建上失败

转载 作者:行者123 更新时间:2023-12-01 18:04:50 30 4
gpt4 key购买 nike

我已将基于 makefile 的项目集成到 yocto 内的自定义配方中,但出现了一个问题:do_rootfs 失败。

请找到库源,我尝试将此库集成到oe-core中:http://libiec61850.com/libiec61850/wp-content/uploads/2016/02/libiec61850-0.9.0.2.tgz

.bb 文件:

FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" FILESEXTRAPATHS_prepend := "${THISDIR}/files:"

DESCRIPTION = "simple Hello World program" PR = "r0" LICENSE = "CLOSED"

S = "${WORKDIR}"

DEPEND = "libpthread-stubs libiec61883 libraw1394" SRC_URI += " \
file://config \
file://demos \
file://dotnet \
file://examples \
file://make \
file://Makefile \
file://src \
file://third_party \
file://tools \
"

EXTRA_OEMAKE = "'CC=${CC}' 'RANLIB=${RANLIB}' 'AR=${AR}' 'CFLAGS=${CFLAGS} -I${S}/include -DWITHOUT_XATTR' 'BUILDDIR=${S}'"

do_compile() {
oe_runmake ${S}/make } do_install () {
oe_runmake install DESTDIR=${D} SBINDIR=${sbindir} MANDIR=${mandir} \
INCLUDEDIR=${includedir}
install -d ${D}${includedir}/libiec61850/
install -d ${D}${localedir}
for f in ${S}/.install/include/*.h; do
install -m 0644 $f ${D}${includedir}/libiec61850/
done
install -m 0644 ${S}/.install/lib/* ${D}${localedir}/ }

错误看起来像:

Configuring volatile-binds.
Configuring libxcb-xkb1.
Configuring libxkbcommon.
Configuring libidn11.
Configuring libattr1.
Configuring libacl1.
Configuring libz1.
Configuring libkmod2.
Configuring udev.
Configuring kmod.
Configuring iptables.
Configuring libcap2.
Configuring liblzma5.
Configuring util-linux-fsck.
Configuring systemd-compat-units.
Configuring systemd-serialgetty.
Configuring angstrom-version.
Configuring udev-hwdb.
Configuring libe2p2.
Configuring libext2fs2.
Configuring e2fsprogs-e2fsck.
Configuring systemd.
Configuring kernel-image-4.1.15-v2.5b3+ge6d111c.
Configuring angstrom-feed-configs.
Configuring netbase.
Configuring packagegroup-core-boot.
Collected errors:
* opkg_install_cmd: Cannot install package libiec61850.

ERROR: Function failed: do_rootfs
ERROR: Logfile of failure stored in: /media/kanji/edb1a7c2-288e-488e-abce-24d478f6cd46/workspace/kanji/oe-core/build/out-glibc/work/colibri_vf-angstrom-linux-gnueabi/core-image-minimal/1.0-r0/temp/log.do_rootfs.8560
ERROR: Task 7 (/media/kanji/edb1a7c2-288e-488e-abce-24d478f6cd46/workspace/kanji/oe-core/build/../stuff/openembedded-core/meta/recipes-core/images/core-image-minimal.bb, do_rootfs) failed with exit code '1'
NOTE: Tasks Summary: Attempted 1865 tasks of which 1864 didn't need to be rerun and 1 failed.
NOTE: Writing buildhistory
No currently running tasks (1864 of 1866)

Summary: 1 task failed:
/media/kanji/edb1a7c2-288e-488e-abce-24d478f6cd46/workspace/kanji/oe-core/build/../stuff/openembedded-core/meta/recipes-core/images/core-image-minimal.bb, do_rootfs
Summary: There was 1 WARNING message shown.
Summary: There were 2 ERROR messages shown, returning a non-zero exit code.

最佳答案

这里很难提供准确的答案,因为有些事情可能是错误的或至少是有问题的。那么让我们倒过来看看:

Collected errors: * opkg_install_cmd: Cannot install package libiec61850.

这意味着在安装软件包列表时无法找到字面上的 libiec61850 文件。我假设您创建了 libiec61850_0.9.0.2.bb,这就是上面的 bb 文件内容所代表的内容。除了我认为是由于复制/粘贴到此处造成的空白问题之外,它看起来还不错。但请检查 log.do_compile 和 log.do_install 为了更容易地查看构建该包是否存在任何问题,请执行以下操作:

bitbake -c cleansstate libiec61850
bitbake libiec61850

看看它是否提示空包。

接下来,您可能会遇到配方名称 -> 二进制输出重命名问题。做:

ls tmp/deploy/ipk/*/*iec61850*

看看结果是什么。如果您想检查特定 ipk 文件的内容,它们只是“ar”文件,因此您可以提取它们:

mkdir temp
cd temp
ar -x ../foo.ipk
tar zxf data.tar.gz

关于yocto - do_rootfs 在 yocto 构建上失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36964486/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com