[yocto] problem with perl and locale support in SDK

Hans Beckérus hans.beckerus at gmail.com
Thu Sep 26 03:14:47 PDT 2013


On Thu, Sep 26, 2013 at 10:37 AM, Hans Beckérus <hans.beckerus at gmail.com> wrote:
> Hi. We get following problem when trying to execute any perl programs
> in the SDK environment.
> This is an example of running 'perl -v'
>
> perl: warning: Setting locale failed.
> perl: warning: Please check that your locale settings:
> LANGUAGE = (unset),
> LC_ALL = (unset),
> LC_MESSAGES = "C",
> LC_COLLATE = "C",
> LC_TIME = "C",
> LANG = "en_US"
>     are supported and installed on your system.
> perl: warning: Falling back to the standard locale ("C").
>
> This is perl 5, version 14, subversion 3 (v5.14.3) built for x86_64-linux
>
>>which perl
> /opt/poky/1.4+snapshot/sysroots/x86_64-pokysdk-linux/usr/bin/perl
>
> Running this from inside the Yocto sysroot does not render the same problem.
>>/home/poky/build/tmp/sysroots/x86_64-linux/usr/bin/perl-native/perl -v
>
> This is perl 5, version 14, subversion 3 (v5.14.3) built for
> x86_64-linux-thread-multi
>
> Why is perl built differently for native and nativesdk? Is this
> something that we can control?
>
Ok, things are getting a bit more clear now. But still there are some
things that do not add up.
The perl base recipe BBCLASSEXTEND nativesdk. But there is an explicit
recipe for perl-native.
That explains why the result is so different. The base recipe includes
a patch for Debian systems to squelch the locale warning messages, but
only if DPKG_RUNNING_VERSION is set in the environment (and it is not
set by the SDK initialization script). But why was it not possible to
use the same build of perl both for native and nativesdk? The native
version of perl does not include this patch and it does not output any
locale warning either! So obviously perl is ok on the current running
host, but was not good enough for the SDK? What am I missing here?

> Thanks.
> Hans



More information about the yocto mailing list