【问题标题】:do_rootfs failed on yocto builddo_rootfs 在 yocto 构建上失败
【发布时间】:2016-05-01 08:08:27
【问题描述】:

我已将基于 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.

【问题讨论】:

    标签: yocto


    【解决方案1】:

    这里很难提供准确的答案,因为有些事情可能是错误的,或者至少是有问题的。所以让我们向后工作:

    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
    

    【讨论】:

    • 谢谢汤姆 :) 我也尝试附加日志文件,但我无法在帖子中搜索附件选项,我昨天已经解决了这个问题。
    【解决方案2】:

    我已经找到了上述问题的解决方案:

     FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
        FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
    
        DESCRIPTION = "libiec61850 library support added"
        PR = "r0"
        LICENSE = "CLOSED"
    
        S = "${WORKDIR}"
    
    
        SRC_URI += "    \
            file://config   \
            file://demos    \
            file://dotnet   \
            file://examples \
            file://make \
            file://Makefile \
            file://src  \
            file://third_party \
            file://tools    \
            "
    
        DEPEND = "libpthread-stubs"
        RDEPENDS_${PN} += " \
                update-alternatives-opkg    \
                opkg-arch-config    \
                run-postinsts   \
                "
    
        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}${libdir}/
                for f in ${S}/.install/include/*.h; do
                        install -m 0644 $f ${D}${includedir}/libiec61850/
                done
            install -m 0644 ${S}/.install/lib/* ${D}${libdir}/
        }
    
    
        FILES_${PN} += "${includedir}/libiec61850/* ${libdir}/*"
        PACKAGES = "${PN}"
    

    【讨论】:

    • 你能把完整的食谱贴出来
    猜你喜欢
    • 1970-01-01
    • 2020-12-27
    • 1970-01-01
    • 1970-01-01
    • 2022-08-05
    • 1970-01-01
    • 2021-10-14
    • 1970-01-01
    • 2022-10-21
    相关资源
    最近更新 更多