[yocto] bitbake <image> -c populate_sdk generates locale error

Matt Schepers mschepers at telspandata.com
Wed Nov 13 09:42:26 PST 2019


Khem,

Thank you, but that didn't work. However I have found a fix: I had 'SDK_VENDOR="telspan"' set in the image recipe. When I removed this line yocto now builds an SDK. I have no idea why this was causing a problem, it was working previously. 

Thanks for reaching out to me!

________________________________________
From: Khem Raj <raj.khem at gmail.com>
Sent: Wednesday, November 13, 2019 10:05 AM
To: Matt Schepers; yocto at yoctoproject.org
Subject: Re: [yocto] bitbake <image> -c populate_sdk generates locale error

On Wed, 2019-11-13 at 16:12 +0000, Matt Schepers wrote:
> Hi,
>
> When I run 'bitbake <image> -c populate_sdk' I get an error about the
> locale not being found. I have tried setting the locale in local.conf
> but that didn't seem to help. The odd thing is that 'bitbake <image>'
> works just fine.
>
> Respectfully,
> Matt Schepers
>
> ERROR: telspan-dh3-1.0-r0 do_populate_sdk: 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(d)
>      0003:
> File:
> '/home/mschepers/dh3_yocto/yocto/build/../meta/poky/meta/classes/popu
> late_sdk_base.bbclass', lineno: 152, function: do_populate_sdk
>      0148:
>      0149:    populate_sdk(d)
>      0150:
>      0151:fakeroot python do_populate_sdk() {
>  *** 0152:    populate_sdk_common(d)
>      0153:}
>      0154:SSTATETASKS += "do_populate_sdk"
>      0155:SSTATE_SKIP_CREATION_task-populate-sdk = '1'
>      0156:do_populate_sdk[cleandirs] = "${SDKDEPLOYDIR}"
>      ....
>      ....
>      ....
> File:
> '/home/mschepers/dh3_yocto/yocto/build/../meta/poky/meta/lib/oe/sdk.p
> y', lineno: 45, function: generate_locale_archive
>      0041:    # Need to set this so cross-localedef knows where the
> archive is
>      0042:    env = dict(os.environ)
>      0043:    env["LOCALEARCHIVE"] = oe.path.join(localedir, "locale-
> archive")
>      0044:
>  *** 0045:    for name in os.listdir(localedir):
>      0046:        path = os.path.join(localedir, name)
>      0047:        if os.path.isdir(path):
>      0048:            try:
>      0049:                cmd = ["cross-localedef", "--verbose"]
> Exception: FileNotFoundError: [Errno 2] No such file or directory:
> '/home/mschepers/dh3_yocto/yocto/build/tmp/work/dh3a10-poky-linux-
> gnueabi/telspan-dh3/1.0-r0/sdk/image/opt/poky/2.5.2/sysroots/x86_64-
> telspan-linux/usr/lib/locale'
>

this means the locales on sdk host are not installed properly, so
perhaps just renstalling locales on SDK host might help. since you seem
to be on 2.5 release check if you have nativesdk-glibc recipe
available, if you do then perhaps adding something like

SDK_DEPENDS += "nativesdk-glibc-locale"

in local.conf or preferably meta/classes/populate_sdk_base.bbclass
might help. But I must also note that a bit of work has gone into SDK
host locale issue since 2.5 release so you might have to do a bit of
digging to see needed patches to get it going on 2.5

> ERROR: telspan-dh3-1.0-r0 do_populate_sdk: Function failed:
> do_populate_sdk
> ERROR: Logfile of failure stored in:
> /home/mschepers/dh3_yocto/yocto/build/tmp/work/dh3a10-poky-linux-
> gnueabi/telspan-dh3/1.0-r0/temp/log.do_populate_sdk.27826
> ERROR: Task (/home/mschepers/dh3_yocto/yocto/build/../meta/meta-
> telspan/recipes-core/images/telspan-dh3.bb:do_populate_sdk) failed
> with exit code '1'



More information about the yocto mailing list