我正在尝试使用最新的Yocto版本为我的Jetson Nano构建图像。为此,我需要CUDA 10,它是Jetson Nano图像构建所需的NVIDIA二进制文件的一部分。
CUDA 10仅支持GCC 7,因此要使用此功能,我正在使用meta-linaro层添加外部工具链。我输入
GCCVERSION = "linaro-7.2"
SDKGCCVERSION = "linaro-7.2"
在我的local.conf
中,将linaro图层添加到我的bblayers.conf
中。当我然后运行bitbake image-name
时,它将失败,并显示以下错误:
WARNING: /home/tm/yocto/dev-jetson-nano-zeus/layers/meta-linaro/meta-aarch64/recipes-core/openjdk/openjdk-8_0.1.bb: Exception during build_dependencies for AUTOREV
WARNING: /home/tm/yocto/dev-jetson-nano-zeus/layers/meta-linaro/meta-aarch64/recipes-core/openjdk/openjdk-8_0.1.bb: Error during finalise of /home/tm/yocto/dev-jetson-nano-zeus/layers/meta-linaro/meta-aarch64/recipes-core/openjdk/openjdk-8_0.1.bb
ERROR: ExpansionError during parsing /home/tm/yocto/dev-jetson-nano-zeus/layers/meta-linaro/meta-aarch64/recipes-core/openjdk/openjdk-8_0.1.bb
Traceback (most recent call last):
File "/home/tm/yocto/dev-jetson-nano-zeus/layers/poky-zeus/bitbake/lib/bb/fetch2/__init__.py", line 1302, in FetchData.setup_revisions(d=<bb.data_smart.DataSmart object at 0x7f3436da90b8>):
for name in self.names:
> self.revisions[name] = srcrev_internal_helper(self, d, name)
File "/home/tm/yocto/dev-jetson-nano-zeus/layers/poky-zeus/bitbake/lib/bb/fetch2/__init__.py", line 1167, in srcrev_internal_helper(ud=<bb.fetch2.FetchData object at 0x7f3436df5b00>, d=<bb.data_smart.DataSmart object at 0x7f3436da90b8>, name='jdk8'):
if srcrev == "AUTOINC":
> srcrev = ud.method.latest_revision(ud, d, name)
File "/home/tm/yocto/dev-jetson-nano-zeus/layers/poky-zeus/bitbake/lib/bb/fetch2/__init__.py", line 1558, in Hg.latest_revision(ud=<bb.fetch2.FetchData object at 0x7f3436df5b00>, d=<bb.data_smart.DataSmart object at 0x7f3436da90b8>, name='jdk8'):
revs = bb.persist_data.persist('BB_URI_HEADREVS', d)
> key = self.generate_revision_key(ud, d, name)
try:
File "/home/tm/yocto/dev-jetson-nano-zeus/layers/poky-zeus/bitbake/lib/bb/fetch2/__init__.py", line 1570, in Hg.generate_revision_key(ud=<bb.fetch2.FetchData object at 0x7f3436df5b00>, d=<bb.data_smart.DataSmart object at 0x7f3436da90b8>, name='jdk8'):
def generate_revision_key(self, ud, d, name):
> key = self._revision_key(ud, d, name)
return "%s-%s" % (key, d.getVar("PN") or "")
File "/home/tm/yocto/dev-jetson-nano-zeus/layers/poky-zeus/bitbake/lib/bb/fetch2/hg.py", line 223, in Hg._revision_key(ud=<bb.fetch2.FetchData object at 0x7f3436df5b00>, d=<bb.data_smart.DataSmart object at 0x7f3436da90b8>, name='jdk8'):
"""
> return "hg:" + ud.moddir
bb.data_smart.ExpansionError: Failure expanding variable SRCPV, expression was ${@bb.fetch2.get_srcrev(d)} which triggered exception AttributeError: 'FetchData' object has no attribute 'moddir'
Summary: There were 2 WARNING messages shown.
Summary: There was 1 ERROR message shown, returning a non-zero exit code.
因此看来jdk bbfile中的AUTOREV
用法有问题吗?关于如何解决此问题的任何想法?