【问题标题】:vSOMEIP support on yoctoyocto 上的 vSOMEIP 支持
【发布时间】:2017-02-20 02:35:54
【问题描述】:

我正在开发一个依赖于 vSOMEIP 的组件,yocto 没有支持 对于 vSOMEIP,我正在尝试添加自己,以使其可用于我的组件。 我创建了 recipes-vSOMEIP recipe,并复制了源代码。 我的bb层是这样的

SECTION = "devel"

LICENSE = "CLOSED"

SRC_URI = "file://*"

S = "${WORKDIR}"

inherit cmake

FILES_${PN} = "${bindir}"

源代码正在编译,但无法安装。

GotBelow 错误,正在打包

ERROR: vSOMEIP-1.0-r0 do_package: QA Issue: vSOMEIP: Files/directories were installed 
but not shipped in any package:
  /usr/etc

  /usr/lib/libvsomeip.so.2.2.4

  /usr/lib/libvsomeip-sd.so.2.2.4

  /usr/lib/libvsomeip.so.2

  /usr/lib/libvsomeip-sd.so.2

  /usr/lib/cmake

  /usr/lib/cmake/vsomeip

  /usr/lib/cmake/vsomeip/vsomeipTargets-noconfig.cmake

  /usr/lib/cmake/vsomeip/vsomeipConfig.cmake

  /usr/lib/cmake/vsomeip/vsomeipConfigVersion.cmake

  /usr/lib/cmake/vsomeip/vsomeipTargets.cmake

  /usr/etc/vsomeip

  /usr/etc/vsomeip/vsomeip-tcp-service.json

  /usr/etc/vsomeip/vsomeip-tcp-client.json

  /usr/etc/vsomeip/vsomeip-udp-client.json

  /usr/etc/vsomeip/vsomeip.json

  /usr/etc/vsomeip/vsomeip-udp-service.json

  /usr/etc/vsomeip/vsomeip-local.json

Please set FILES such that these items are packaged. Alternatively if they are unneeded, avoid installing them or delete them within do_install.
vSOMEIP: 18 installed and not shipped files. [installed-vs-shipped]
ERROR: vSOMEIP-1.0-r0 do_package: Fatal QA errors found, failing task.
ERROR: vSOMEIP-1.0-r0 do_package: Function failed: do_package

【问题讨论】:

    标签: yocto


    【解决方案1】:

    请删除该行

    FILES_${PN} = "${bindir}" 
    

    FILES_${PN} 的默认值应该足以满足您的需求。除非您知道自己在做什么,否则永远不要重写该变量,而是在需要时附加到它。

    【讨论】:

    • 当然,我附加而不是直接初始化 FILES_${PN} += "${bindir}"
    【解决方案2】:

    您目前似乎只是安装/usr/bin 本身。 尝试添加您需要的其他目录:

    FILES_${PN} += " \
      ${bindir} \
      ${bindir}/* \
      ${libdir} \
      ${libdir}/* \
      ${sysconfdir} \
      ${sysconfdir}/vsomeip \
      ${sysconfdir}/vsomeip/*
      "
    

    我还认为/usr/lib/cmake 下的所有内容都不是要安装的。您应该在安装后通过添加删除它

    do_install_append() {
      rm -rf ${D}${libdir}/cmake
    }
    

    到食谱


    更新:@Anders 的回答可能是对的。

    您不应将 FILES_${PN} 设置为 =

    如果您需要更改它,请使用+=

    在您的情况下,变量应该由您包含在inherit cmake 中的 cmake 类正确设置

    所以只需删除FILES_${PN},一切都应该仍然有效。

    【讨论】:

    • 不,cmake 目录应该在${PN}-dev 包之外。最好不要删除。
    • 是的,你是对的! cmake 可能将变量设置为正确
    【解决方案3】:

    Genivi Consortium 提供了 vSomeIP 的现成配方。请参考vSomeIP recipe

    【讨论】:

      猜你喜欢
      • 2018-03-17
      • 2018-04-08
      • 2016-11-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多