I've run into a couple of problems trying to build Xerces-C 3.1.1
against ICU 49.1.1, and could need some help...

I try to build on an elderly SuSE SLES 10, with GCC 4.1.2. I first
installed ICU using:

./configure --prefix=/custom/path/icu --enable-rpath --disable-debug \
    --disable-tracing --with-library-bits=64 && make && make install

I checked the ICU installation to be sane (i.e., binaries finding
their libs etc.). Then I attempted to build Xerces-C using:

./configure --enable-msgloader-icu --enable-transcoder-icu \
    --with-icu=/custom/path/icu --prefix=/custom/path/xerces \
    && make && make install

The source gets compiled, but the build bombs out at the link stage,
more precisely the first, screen-filling libtool invocation (shortened
long list of object files):

/bin/sh ../libtool --tag=CXX   --mode=link g++  -g -O2  -msse2 \
    -release 3.1  -o libxerces-c.la -rpath /custom/path/xerces/lib \
    xercesc/util/Base64.lo [...] \
    strnicmp.lo -lnsl  -lpthread -Wl,-zorigin,-rpath,$ORIGIN \
    -Wl,-rpath,/custom/path/icu/lib -lpthread -ldl -lm \
    -L/custom/path/icu/lib -licui18n -licuuc -licudata  -lpthread \
    -ldl -lm -Wl,-zorigin,-rpath,$ORIGIN -Wl,-rpath,/custom/path/icu/lib \
    -lpthread -ldl -lm -L/custom/path/icu/lib -licui18n -licuuc -licudata \
    -lpthread -ldl -lm

The error message is:

/custom/path/icu/lib: file not recognized: Is a directory

That looks suspiciously like the build appending
"-lpthread $(icu-config --ldflags)" to the libtool line twice over,
and choking on the late "-L" option contained therein.

Confused, and suspecting the somewhat aged build environment, I
took a different machine - a Linux Mint 12 box, with GCC 4.6.1 -
and attempted the same build again.

That one builds without problems... but a look at the build logs
reveals it didn't do what I asked it to do:

configure:18319: checking whether we can support the ICU Transcoder
configure:18339: result: no
[...]
configure:18599: checking whether we support the ICU MsgLoader
configure:18619: result: no
[...]
configure:21971: Report:
configure:21973:   File Manager: POSIX
configure:21975:   Mutex Manager: POSIX
configure:21977:   Transcoder: gnuiconv
configure:21979:   NetAccessor: socket
configure:21981:   Message Loader: inmemory

No further information as to why ICU "couldn't be supported" was to
be had from any logfiles that I was able to find.

I am quite confused, and cannot help but suspect that "Xerces-C with
ICU" is perhaps not as well-tested as it should be. I'm also at my
wit's end as to what I could do to make it work, ideally on both
machines.

Help, please?

Regards,
--
Solar
solar rootdirectory de

Reply via email to