Details
Description
My latest attempt to build xerces-c 3.0.0 beta 1, after applying a patch to fix the .o vs. .ao problem discussed earlier, resulted in a successful build on i386, amd64, powerpc, and alpha platforms only. The other platforms on which a build has been attempted (arm, mipsel, hppa, sparc, s390, ia64) have all failed.
This is an excerpt from the log output on hppa. It is representative of the failures on the other platforms.
Making all in samples
make[3]: Entering directory `/build/buildd/xerces-c-3.0.0~b1/build-tree/xerces-c-3.0.0.b1/samples'
../config/pretty-make Compiling g++ -DHAVE_CONFIG_H -I. -I.. -I../src/xercesc/util -I../src -I../src -g -O2 -g -Wall -O2 -c -o src/CreateDOMDocument/CreateDOMDocument.o src/CreateDOMDocument/CreateDOMDocument.cpp
Compiling src/CreateDOMDocument/CreateDOMDocument.cpp
/bin/sh ../libtool --tag=CXX --mode=link g++ -g -O2 -g -Wall -O2 -o CreateDOMDocument src/CreateDOMDocument/CreateDOMDocument.o ../src/libxerces-c.la -lnsl -L/usr/lib -licuuc -licudata -L/usr/lib -licuuc -licudata -lpthread
mkdir .libs
g++ -g -O2 -g -Wall -O2 -o .libs/CreateDOMDocument src/CreateDOMDocument/CreateDOMDocument.o ../src/.libs/libxerces-c.so -lnsl -L/usr/lib -licuuc -licudata -lpthread
../src/.libs/libxerces-c.so: undefined reference to `xercesc_messages_3_0_root_res'
collect2: ld returned 1 exit status
make[3]: *** [CreateDOMDocument] Error 1
make[3]: Leaving directory `/build/buildd/xerces-c-3.0.0~b1/build-tree/xerces-c-3.0.0.b1/samples'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/build/buildd/xerces-c-3.0.0~b1/build-tree/xerces-c-3.0.0.b1'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/build/buildd/xerces-c-3.0.0~b1/build-tree/xerces-c-3.0.0.b1'
make: *** [debian/stamp-makefile-build] Error 2
You may find links to the build logs on all the platforms from this URL:
http://experimental.debian.net/build.php?pkg=xerces-c
xerces-c is configured with the following (again, hppa as an example):
CC="cc" CXX="g++" CFLAGS="-g -O2 -g -Wall -O2" CXXFLAGS="-g -O2 -g -Wall -O2" CPPFLAGS="" LDFLAGS="" /build/buildd/xerces-c-3.0.0~b1/build-tree/xerces-c-3.0.0.b1/configure --build=hppa-linux-gnu --prefix=/usr --includedir="\${prefix}/include" --mandir="\${prefix}/share/man" --infodir="\${prefix}/share/info" --sysconfdir=/etc --localstatedir=/var --libexecdir="\${prefix}/lib/xerces-c" --disable-maintainer-mode --disable-dependency-tracking --srcdir=.
This is essentially the default for debian. I don't pass any special arguments. The debian xerces packages are built using the ICU transcoder, which seems relevant here. I have verified from the configure output that the ICU transcoder is being selected on both the successful and unsuccessful builds.
My build is 3.0.0 beta 1 plus changes from subversion through revision 653079.