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 >
