I've solved it by disabling renaming in ICU configuration.

Regards,
Mateusz

On 7 November 2016 at 10:24, Mateusz Dyda <[email protected]> wrote:

> Hi,
>
> I'm trying to compile Xml Security for the Android platform (arm) but I
> get:
>
>     checking Xerces version... OK
>     configure: error: unable to link with Xerces
>
> when running ./configure. Before that, I have obviously compiled Xerces
> (and ICU) for the same platform so it should be able to link. I think it
> might be going somewhere wrong with Xerces linking to ICU because of what
> the error messages say but it's XML security failing so I'm posting it here.
> Any help would be appreciated.
>
>
>
>
> I run the configure for xml sec with he following parameters:
>
> ./configure --without-xalan \
>      --without-nss \
>      --host=arm-linux-androideabi \
>      --with-xerces=$PWD/../xerces-c-3.1.4/build-androideabi \
>      --with-openssl=$PWD/../openssl-fips-wrapper/build-androideabi \
>      --with-glob=$PWD/../android-glob/build-androideabi/ \
>      --prefix=$PWD/build-androideabi \
>     --enable-debug \
>     CFLAGS='-Os -march=armv7-a -mfloat-abi=softfp -mfpu=neon' \
>     CXXFLAGS='-std=c++11 -march=armv7-a -mfloat-abi=softfp -mfpu=neon' \
>     LDFLAGS=' -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 more detailed error messages from config.log are:
>
> .../xml-security-c-1.7.3/../xerces-c-3.1.4/build-
> androideabi/lib/libxerces-c.a(ICUTransService.o):xercesc/
> util/Transcoders/ICU/ICUTransService.cpp:function
> xercesc_3_1::ICUTransService::makeNewXMLTranscoder(unsigned short const*,
> xercesc_3_1::XMLTransService::Codes&, unsigned int,
> xercesc_3_1::MemoryManager*): error: undefined reference to 'ucnv_openU_58'
> .../xml-security-c-1.7.3/../xerces-c-3.1.4/build-
> androideabi/lib/libxerces-c.a(ICUTransService.o):xercesc/
> util/Transcoders/ICU/ICUTransService.cpp:function
> xercesc_3_1::ICUTranscoder::ICUTranscoder(unsigned short const*,
> UConverter*, unsigned int, xercesc_3_1::MemoryManager*): error: undefined
> reference to 'ucnv_getMaxCharSize_58'
> .../xml-security-c-1.7.3/../xerces-c-3.1.4/build-
> androideabi/lib/libxerces-c.a(ICUTransService.o):xercesc/
> util/Transcoders/ICU/ICUTransService.cpp:function
> xercesc_3_1::ICUTranscoder::ICUTranscoder(unsigned short const*,
> UConverter*, unsigned int, xercesc_3_1::MemoryManager*): error: undefined
> reference to 'ucnv_getMinCharSize_58'
>
> and a lot more other linking errors from Xerces classes
> like ICULCPTranscoder, ICUTranscoder and RangeToken.
>
>
>
>
>
> Also, just for complete information, I was compiling Xerces with those
> parameters:
>
> ./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='-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
>
>
>
>
>
> Regards,
> Mateusz
>

Reply via email to