首页 > 解决方案 > 为什么 Bitbake 配方在错误的文件夹中寻找 lib?

问题描述

我有 x2 cmake bitbake 食谱试图在 yocto dunfell 下为 Orocos RTT 和 OCL 构建。OCL 依赖于 RTT。RTT 编译正常,但 OCL 错误找不到libcap-ng.so。我在两个配方中都添加了 libcap-ng 依赖项。从错误看来,这是因为它正在 RTT 文件夹而不是 OCL 文件夹中寻找 lib。此时RTT编译成功,RTT工作目录为空,不存在。

'错误:orocos-ocl-git-r0 do_compile:执行'/home/user/rpi/build/tmp/work/arm1176jzfshf-vfp-poky-linux-gnueabi/orocos-ocl/git-r0/temp/run。 do_compile.10683' 失败,退出代码 1:忍者:错误:'/home/user/rpi/build/tmp/work/arm1176jzfshf-vfp-poky-linux-gnueabi/orocos-rtt/git-r0/recipe-sysroot/ usr/lib/libcap-ng.so','ocl/orocos/gnulinux/ocl/types/libocl-gnulinux.so.2.10.0' 需要,缺少并且没有已知的规则来制作它'

OCL 配方:

    SUMMARY = "Orocos ocl"
    LICENSE = "GPLv2"
    LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6"
    
    #-----------------------------------------------------------
    
    SRCREV = "e454c4d592c3ed8aa9f887495e78ee9a755cccde"
    SRC_URI = "git://github.com/orocos-toolchain/ocl.git;protocol=git;branch=toolchain-2.10"
    
    #-----------------------------------------------------------
    
    DEPENDS = "orocos-rtt libedit boost libcap-ng "

    S = "${WORKDIR}/git"

    EXTRA_OECMAKE = "-DCMAKE_SKIP_RPATH=ON -DBUILD_LUA_RTT=OFF -DBUILD_REPORTING_NETCDF=OFF -DBUILD_LOGGING=OFF -DNETCDF_INSTALL=OFF -DBUILD_DEPLOYMENT=ON -DBUILD_HELLOWORLD=OFF -DDEFAULT_PLUGIN_PATH=${libdir} -DNO_GPL=ON -DBUILD_RTALLOC=ON"

    inherit cmake pkgconfig

    do_install_append () {
            ..... blah
    }
    

为什么它在错误的文件夹中查找?解决这个问题的最佳方法是什么?如何强制它在本地显示?

标签: cmakeyoctobitbake

解决方案


推荐阅读