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

Reply via email to