[yocto] locale failure during do_rootfs
Rickard Gustafsson
rickard at allyourbase.se
Mon Jul 10 07:20:06 PDT 2017
I just want to share a solution to a problem.
tl;dr use a supported system to build.
I got the same error as mentioned here:
https://lists.yoctoproject.org/pipermail/yocto/2017-June/036622.html
[log_check] Failed to set locale, defaulting to C
This is an error that occurs for RPM based systems built with yocto.
It raises from dnf-native when i18n.py is run due to an unfortunate
error message when an exception is raised when there is a locale
exception from the line:
dnf.pycomp.setlocale(locale.LC_ALL, '')
which prints:
print('Failed to set locale, defaulting to C', file=sys.stderr)
On some systems this will raise an exception even if locales are
configured properly, which they should otherwise bitbake would fail
earlier.
So I found out that problem has to do with that python cannot find the
build systems locales. I use slackware 14.2 to build and there the
locales are located in /usr/lib64/locale which seems to not be used by
python3-native during do_rootfs. On systems supported by yocto they are
located in /usr/lib/locale.
Adding locales to /usr/lib/locale and do_rootfs completes without any
problems.
More information about the yocto
mailing list