失败的构建 Yocto Gatesgarth "extensible SDK" (eSDK) - populate_sdk_ext失败



我和Yocto "Gatesgarth"基于i.MX6ULL的自定义板。

我在生成可扩展SDK (eSDK)时遇到了一些问题。

正常SDK的生成已经正确完成。

下面是一些细节

系统详细信息:

Board based on NXP i.MX6ULL
Yocto version "Gatesgarth 3.2.4 (May 2021)"
BB_VERSION      = "1.48.0", 
NATIVELSBSTRING = "ubuntu-18.04" 
DISTRO_VERSION  = "5.10-gatesgarth"
meta-qt5 is present
Build environment based on Docker Container

环境变量:

文件: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行,数组btfiles应该被填充,但是数组为空,第556行生成异常。

我不知道什么是错的,我忘记了什么,什么Yocto环境变量需要设置做正确的工作。

希望你做得好

我有类似的问题,我不能填充esdk,

都在GLIBC版本..

请更新您的GLIBC版本

在我的情况下,我必须更新GLIBC版本号2.33在">yocto-uninative.inc";文件。它对我有效!!

相关内容

  • 没有找到相关文章

最新更新