yocto上的vSOMEIP支持

yocto上的vSOMEIP支持,yocto,Yocto,我正在开发一个依赖于vSOMEIP的组件,yocto没有支持 对于vSOMEIP,我正在尝试添加我自己,以使其可用于我的组件。 我创建了recipes vSOMEIP recipe,并复制了源代码。 我的bb层看起来像这样 SECTION = "devel" LICENSE = "CLOSED" SRC_URI = "file://*" S = "${WORKDIR}" inherit cmake FILES_${PN} = "${bindir}" 源代码正在编译,但无法安装 得到以

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

SECTION = "devel"

LICENSE = "CLOSED"

SRC_URI = "file://*"

S = "${WORKDIR}"

inherit cmake

FILES_${PN} = "${bindir}"
源代码正在编译,但无法安装

得到以下错误,正在进行打包

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

您目前似乎只安装了/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的答案可能是正确的

不应将文件${PN}设置为=

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

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


因此,只要删除文件${PN},一切都应该仍然有效。

您目前似乎只是安装了/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的答案可能是正确的

不应将文件${PN}设置为=

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

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


所以只要删除文件${PN},一切都应该正常。

请删除该行

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

文件${PN}的默认值应该足以满足您的需要。永远不要重写那个变量,除非你知道你在做什么,如果需要的话,最好附加到它上面

请删除该行

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

文件${PN}的默认值应该足以满足您的需要。永远不要重写那个变量,除非你知道你在做什么,如果需要的话,最好附加到它上面

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

No,cmake目录应该在${PN}-dev包中。最好不要删除它。是的,你是对的!cmake可能会设置变量rightNo,cmake目录应该在${PN}-dev包中。最好不要删除它。是的,你是对的!cmake可能会设置变量rightSure,我附加而不是直接初始化文件${PN}+=${bindir}当然,我附加而不是直接初始化文件${PN}+=${bindir}