Yocto:无法继承文件类/autotools-brokensep.bbclass

zap*_*ppy 3 pandaboard bitbake yocto

我是 yocto 项目的新手。运行 bitbake 命令时出现以下错误

\n\n
$bitbake gemini-image\n\nERROR: ParseError at /home/zappy/Desktop/fyocto/meta-ivi/meta-ivi/recipes-extended/persistence-client-library/persistence-client-library_git.bb:18: Could not inherit file classes/autotools-brokensep.bbclass\nSummary: There was 1 ERROR message shown, returning a non-zero exit code.\n
Run Code Online (Sandbox Code Playgroud)\n\n

我的 bblayers.conf 文件是

\n\n
# LAYER_CONF_VERSION is increased each time build/conf/bblayers.conf\n# changes incompatibly\nLCONF_VERSION = "6"\n\nBBPATH = "${TOPDIR}"\nBBFILES ?= ""\n\nBBLAYERS ?= " \\\n  /home/zappy/Desktop/fyocto/poky/meta \\\n  /home/zappy/Desktop/fyocto/poky/meta-yocto \\\n  /home/zappy/Desktop/fyocto/poky/meta-yocto-bsp \\\n  /home/zappy/Desktop/fyocto/meta-ivi/meta-ivi \\\n  /home/zappy/Desktop/fyocto/meta-ti \\\n  "\nBBLAYERS_NON_REMOVABLE ?= " \\\n  /home/zappy/Desktop/fyocto/poky/meta \\\n  /home/zappy/Desktop/fyocto/poky/meta-yocto \\\n
Run Code Online (Sandbox Code Playgroud)\n\n

我的 local.conf 文件是(仅编辑行)

\n\n
MACHINE?= \xe2\x80\x9dpandaboard\xe2\x80\x9d\nDISTRO ?= "poky-ivi-systemd"\nINCOMPATIBLE_LICENSE = "GPLv3"\n
Run Code Online (Sandbox Code Playgroud)\n\n

任何人都熟悉这些类型的错误吗?\n请随时询问是否需要任何进一步的详细信息来理解该问题

\n\n

编辑:\n这是 persistence-client-library_git.bb 文件

\n\n
SUMMARY = "GENIVI Persistence Client Library"\nDESCRIPTION = "The Persistence Management is responsible to handle \\\npersistent data, including all data read and modified often during \\\na lifetime of an infotainment system."\nHOMEPAGE = "http://projects.genivi.org/persistence-client-library"\nBUGTRACKER = "http://bugs.genivi.org/enter_bug.cgi?product=Persistence"\nLICENSE = "MPLv2"\nLIC_FILES_CHKSUM = "file://COPYING;md5=6161c6840f21a000e9b52af81d2ca823"\n\nDEPENDS = "dlt-daemon dbus libcheck persistence-common-object"\n\nPV = "7.0+git${SRCPV}"\n\nSRC_URI = "git://git.projects.genivi.org/persistence/persistence-client-library.git"\nSRCREV  = "441b3ce710ec6b7f1e6360cdf29e5c4243af9f1e"\nS = "${WORKDIR}/git"\n\ninherit pkgconfig autotools-brokensep\n\nPARALLEL_MAKE = ""\n\nFILES_${PN} = " \\\n   ${libdir}/*.so \\\n   ${libdir}/*.so.* \\\n   ${sysconfdir} \\\n"\n\ndo_install_append() {\n    install -d ${D}${sysconfdir}/dbus-1/system.d\n    install -m 0644 ${S}/config/org.genivi.persistence.admin.conf ${D}${sysconfdir}/dbus-1/system.d\n}\n\nRDEPENDS_${PN} = "node-state-manager"\n
Run Code Online (Sandbox Code Playgroud)\n

Dil*_*mar 5

问题:无法找到您的asautotools-brokensep.bbclass中提到的persistence-client-library_git.bbinherit pkgconfig autotools-brokensep

解决办法:提供该文件所在的路径bblayers.conf,甚至检查该文件所在的layers.conf。

  • @zappy不,你没有按照该链接中的说明进行操作,至少没有严格执行... 5.0分支中的 persistence-client-library 配方不会继承 autotools-brokensep ,它继承了常规的 autotools 类。这样做是因为它基于 Poky 的 dora 版本,它没有将构建目录与源目录分开。我猜你可能有 Poky 的 dora 分支,但有 meta-ti 的 master 分支。您不需要将文件复制到元层即可进行构建。 (2认同)