[OE-core] [PATCH] icu: fix libicudata corruption on big endian system

Burton, Ross ross.burton at intel.com
Tue Dec 5 11:44:29 UTC 2017


On 28 November 2017 at 06:13, Yi Zhao <yi.zhao at windriver.com> wrote:

> ICU library libicudata is created with a wrong endianness if the host
> and target have different endianness. (e.g. build ICU for qemuppc on
> x86-64 host)
> See upstream bug report: http://bugs.icu-project.org/trac/ticket/11758
>
> The discussion in oe-core mailing list:
> https://www.mail-archive.com/openembedded-core@lists.
> openembedded.org/msg65155.html
>
> The root cause is the native pkgdata can not generate correct icu data
> for different endianness. By default, this data is built into the shared
> library libicudata that would cause it corrupt. But ICU also provides
> additional options for loading the data. With option
> --with-data-packaging=archive, ICU outputs a single icudt.dat file which
> can be loaded by the library.
> See document: http://userguide.icu-project.org/icudata
>
> So for big endian system, we can use the separated data file which
> re-generates by icupkg and set the correct ICU_DATA environment variable
> to make sure the library can load the data without problems.
>

Fails on various builds on the AB:

icupkg: unable to open input file
"TOPDIR/tmp/work/ppc7400-poky-linux/icu/60.1-r0/icu/source/data/in/icudt59l.dat"

http://errors.yoctoproject.org/Errors/Latest/?filter=%20icu:%20do_install&type=failure

Ross
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openembedded.org/pipermail/openembedded-core/attachments/20171205/3201174a/attachment-0002.html>


More information about the Openembedded-core mailing list