I've been trying to compile Xerces-C (tried 3.1.2 and 3.1.4) with ICU
transcoder for Android (armv7a architecture) which I later need as a
dependency for Apache Santuario but I get a compilation error about a
particular struct missing some members. I've done some research and it
might be something to do with locale.h file being broken in android c
libraries but I could not find anything more on that. Any help would be
much appreciated.
Here is how I run configure for Xerces:
./configure --disable-shared \
--host=arm-linux-androideabi \
--disable-pretty-make \
--enable-transcoder-icu \
--with-icu=$PWD/../icu/armv7a/prebuilt \
--prefix=$PWD/build-androideabi \
CFLAGS='-Os -march=armv7-a -mfloat-abi=softfp -mfpu=neon' \
CXXFLAGS='--std=c++11 -march=armv7-a -mfloat-abi=softfp -mfpu=neon' \
LDFLAGS='-lc -lstdc++ -march=armv7-a -Wl,--fix-cortex-a8' \
CC=arm-linux-androideabi-clang \
CXX=arm-linux-androideabi-clang++ \
AR=arm-linux-androideabi-ar \
RINLIB=arm-linux-androideabi-ranlib
and the error excerpt is:
/bin/bash ../libtool --quiet --tag=CXX --mode=compile
arm-linux-androideabi-clang++ -DHAVE_CONFIG_H -DXERCES_BUILDING_LIBRARY -I.
-I.. -I../src/xercesc/util
-I/home/mateusz/Projects/SQRLibs/External/secure-chorus/external/icu/armv7a/prebuilt/include
--std=c++11 -march=armv7-a -mfloat-abi=softfp -mfpu=neon -MT
xercesc/util/XMLAbstractDoubleFloat.lo -MD -MP -MF $depbase.Tpo -c -o
xercesc/util/XMLAbstractDoubleFloat.lo
xercesc/util/XMLAbstractDoubleFloat.cpp &&\
mv -f $depbase.Tpo $depbase.Plo
xercesc/util/XMLAbstractDoubleFloat.cpp:431:27: error: no member named
'decimal_point' in 'lconv'
char delimiter = *lc->decimal_point;
~~ ^
1 error generated.
Makefile:4021: recipe for target 'xercesc/util/XMLAbstractDoubleFloat.lo'
failed
Regards,
Mateusz