我和Yocto "Gatesgarth“一起在一个基于i.MX6ULL的定制板上工作。
在生成可扩展SDK (eSDK)方面,我面临一些问题。
正常SDK的生成是正确的。
下面是一些细节。
系统详情:
基于NXP i.MX6ULL Yocto版本的BB_VERSION = "1.48.0“BB_VERSION= "ubuntu-18.04”DISTRO_VERSION = "5.10-gatesgarth“meta-qt5是目前基于i.MX6ULL容器的构建环境。
环境变量:
档案: conf/local.conf
SDKMACHINE ?= 'x86_64‘
文件: test-image-mx6ull.bb
inherit core-image inherit populate\_sdk\_qt5 inherit populate\_sdk\_ext SDK\_EXT\_TYPE = "minimal" SDK\_INCLUDE\_TOOLCHAIN = "1" SDK\_INCLUDE\_PKGDATA = "0" SDK\_INCLUDE\_NATIVESDK = "1"
执行的命令是:
bitbake test-image-mx6ull -c populate_sdk_ext
输出:
ERROR: test-image-mx6ull-1.0-r0 do_populate_sdk_ext: Error executing a python function in exec_python_func() autogenerated:
The stack trace of python calls that resulted in this exception/failure was:
File: 'exec_python_func() autogenerated', lineno: 2, function: <module>
0001:
*** 0002:do_populate_sdk_ext(d)
0003:
File: '/yocto/sources/poky/meta/classes/populate_sdk_ext.bbclass', lineno: 720, function: do_populate_sdk_ext
0716: bb.fatal('The extensible SDK can currently only be built for the same architecture as the machine being built on - SDK_ARCH is set to %s (likely via setting
SDKMACHINE) which is different from the architecture of the build machine (%s). Unable to continue.' % (d.getVar('SDK_ARCH'), d.getVar('BUILD_ARCH')))
0717:
0718: d.setVar('SDK_INSTALL_TARGETS', get_sdk_install_targets(d))
0719: if d.getVar('SDK_INCLUDE_BUILDTOOLS') == '1':
*** 0720: buildtools_fn = get_current_buildtools(d)
0721: else:
0722: buildtools_fn = None
0723: d.setVar('SDK_REQUIRED_UTILITIES', get_sdk_required_utilities(buildtools_fn, d))
0724: d.setVar('SDK_BUILDTOOLS_INSTALLER', buildtools_fn)
File: '/yocto/sources/poky/meta/classes/populate_sdk_ext.bbclass', lineno: 556, function: get_current_buildtools
0552: import glob
0553: btfiles = glob.glob(os.path.join(d.getVar('SDK_DEPLOY'), '*-buildtools-nativesdk-standalone-*.sh'))
0554: btfiles.sort(key=os.path.getctime)
0555: print("MY-DEBUG - btfiles = {} - SDK_DEPLOY = {}".format(btfiles, d.getVar('SDK_DEPLOY')))
*** 0556: return os.path.basename(btfiles[-1])
0557:
0558:def get_sdk_required_utilities(buildtools_fn, d):
0559: """Find required utilities that aren't provided by the buildtools"""
0560: sanity_required_utilities = (d.getVar('SANITY_REQUIRED_UTILITIES') or '').split()
Exception: IndexError: list index out of range
DEBUG: Python function do_populate_sdk_ext finished
MY-DEBUG - btfiles = [] - SDK_DEPLOY = /yocto/build-mX6ull/tmp/deploy/sdk
问题
在第553行中,应该填充数组but文件,但是数组是空的,第556行生成异常。
我不知道什么是错的,我忘记了什么,需要什么Yocto环境变量才能做正确的工作。
发布于 2022-10-21 05:18:14
希望你做得很好
我也有过类似的问题,我不能让埃斯克,
全是GLIBC版的。
请更新您的GLIBC版本
在我的例子中,我不得不在"yocto-uninative.inc“文件中将GLIBC版本更新为2.33。它对我有效!
https://stackoverflow.com/questions/72614167
复制相似问题