I cross compiled ICU4C version 52.1 (http://site.icu-project.org) for TI AM335x Starter Kit board using the toolchain provided by TI (SDK 6.00.00); my development machine is Ubuntu 12.04 LTS 32-bit.
The problem is that when I deploy the library to my target platform and launch any tool (like icuinfo
or even any application which rely on ICU, e.g. a QT application) then it exits with code 1 (and no output is produced). If I strace
the command, I obtain the output you can find here.
In other words, it seems that somebody is calling exit_group(1)
after having loaded libicudata.so.52
.
But why? How can I fix the problem?
Just for reference, here is how I cross-compiled ICU (maybe I've made some mistakes?):
1) first of all I compiled ICU for my development machine:
./configure --host=arm-linux-gnueabihf --prefix=/opt/icu
--disable-samples --disable-tests --with-cross-build=/opt/icupc
followed by:
make && make install
2) then I cross-compiled ICU: I've set my environment variables AR
, CC
, CFLAGS
, LDFLAGS
, LIBS
, CPPFLAGS
, CXX
, CXXFLAGS
, CPP
for pointing to my cross-compiling toolchain and then:
./configure --host=arm-linux-gnueabihf --prefix=/opt/icu
--with-cross-build=/home/morix/devel/icupc/source
followed by:
make && make install
3) at the end I copied the content of /opt/icu
to my target platform and I've tried to run icuinfo
, with no luck (as previously described).