【问题标题】:populate_sdk command can't satisfy a nativesdk package I know existspopulate_sdk 命令不能满足我知道存在的 nativesdk 包
【发布时间】:2021-04-24 02:29:30
【问题描述】:

我有一个生成 -native 和 nativesdk- 包的配方,但是当我尝试填充 SDK 时,我收到以下错误消息:

~/myproj/build$ bitbake -c populate_sdk core-image-minimal
... lots of error messages ...
Collected errors:
 * opkg_prepare_url_for_install: Couldn't find anything to satisfy 'nativesdk-myapp'.

但是,我构建那个包没有问题:

~/myproj/build$ bitbake myapp myapp-native nativesdk-myapp

有问题的配方使用BBCLASSEXTEND 添加额外的包。这非常简单:只是一个标准的 cmake 配方,它更改了几个配置参数以省略来自 native 和 nativesdk 构建的单元测试:

inherit cmake

SUMMARY = "My Application"
SRC_URI = "git://git@bitbucket.mydomain.com/project/myapp"
S = "${WORKDIR}/git/"

DEPENDS += "gnutls protobuf protobuf-native dlt-daemon"
DEPENDS_append_class-target = " gtest"

EXTRA_OECMAKE_append_class-native = " -DAPP_FEATURE_TEST=Off"
EXTRA_OECMAKE_append_class-nativesdk = " -DAPP_FEATURE_TEST=Off"

BBCLASSEXTEND = "native nativesdk"

最后,我的发行版文件中有以下几行:

TOOLCHAIN_TARGET_TASK_append += " myapp-dev nativesdk-myapp"

我可以很好地构建 nativesdk-myapp 包,但由于某种原因 populate_sdk 目标找不到它。

【问题讨论】:

    标签: yocto


    【解决方案1】:

    问题出在发行版文件中。它应该是:

    TOOLCHAIN_TARGET_TASK_append += " myapp-dev"
    
    TOOLCHAIN_HOST_TASK_append += " nativesdk-myapp"
    

    TOOLCHAIN_TARGET_TASK 是进入目标 sysroot 的 SDK 包,在本例中是 Jacinto SoC 上的 ARM。

    TOOLCHAIN_HOST_TASK是进入主机sysroot的SDK包,即x86_64。

    Yocto 非常明智地抱怨它没有用于 ARM/Jacinto 的 nativesdk-myapp 包。

    【讨论】:

      猜你喜欢
      • 2015-03-21
      • 1970-01-01
      • 2011-05-07
      • 2015-01-04
      • 2019-06-13
      • 1970-01-01
      • 2010-10-29
      • 2012-05-11
      • 2011-06-06
      相关资源
      最近更新 更多