You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-dev@xerces.apache.org by nikola radovanovic <ni...@gmx.com> on 2011/10/19 09:09:41 UTC

xerces-c 3.1.1 fails to reckognize ICU library during the configure stage (on newest GCC-4.6.x)

hi,
 i've tried to build xerces-c 3.1.1 with icu support.

 first, i compiled icu 4.8.1 (OUT_DIR 'points' to /home/nikola/vincorex_development):

 ./runConfigureICU Linux --prefix=${OUT_DIR}
 make && make install

 ICU is built and installed in ${OUT_DIR}

 now i've tried to build xerces-3.1.1:
 ./configure --prefix=${OUT_DIR} --disable-rpath --enable-msgloader-inmemory --enable-transcoder-icu --with-icu=${OUT_DIR}
 make && make install

 xerces is built and installed in ${OUT_DIR}; but ldd on resulting xerces-c.so does not show dependency on ICU located in ${OUT_DIR}. LD_LIBRARY_PATH is set to ${OUT_DIR}/lib.
 after few (re)tries, i tried on older compiler (4.5.2) and everything went fine.

 problematic part is as follows:

 (from config.log)
........................
 g++ -o conftest -g -O2 -I/home/nikola/vincorex_development/include -lpthread -ldl -lm -L/home/nikola/vincorex_development/lib -licui18n -licuuc -licudata -lpthread -ldl -lm  *conftest.cpp* -lnsl -lpthread
 /tmp/ccxSIK6a.o: In function `main':
 /tmp/conftest.cpp:109: undefined reference to `ucnv_open_48'
 collect2: ld returned 1 exit status
........................

 reason for this check to fail lies is parameter ordering; for example this line runs fine:

g++ -o conftest -g -O2 -I/home/nikola/vincorex_development/include  *conftest.cpp* -lpthread -ldl -lm -L/home/nikola/vincorex_development/lib -licui18n -licuuc -licudata -lpthread -ldl -lm -lnsl -lpthread

this is because i've moved conftest.cpp before library search part (if i'm not mistaking, this conforms to GCC)

 i've found this on hard way, hope it will help to someone else. since i dont know autotools, i did not wanted to change autofiles, rather i created virtual machine hosting older Ubuntu with older GCC and build there

 best regards
 nikola