You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-users@xerces.apache.org by Mateusz Dyda <ma...@gmail.com> on 2016/11/04 10:42:42 UTC
Xerces compiling for android error
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
Re: Xerces compiling for android error
Posted by Mateusz Dyda <ma...@gmail.com>.
I've solved the issue by switching to a different implementation of c++
standard libs i.e. libc++.
Regards,
Mateusz
On 4 November 2016 at 10:42, Mateusz Dyda <ma...@gmail.com> wrote:
> 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
>