Hi Mateusz,
the correct way of building Xerces 3.0 is through the ./configure script (as you found out at the end of the mail). As for the '/obj' folder, it could be caused by a typo in a recent commit; in the meanwhile, disable the ICU message loader by running ./configure --disable-msgloader-icu

Hope this helps,
Alberto

At 18.27 25/04/2007 +0200, Mateusz Loskot wrote:
Hi,

I'm trying to build Xerces from SVN under Linux and I found that
official instructions are not very exact:

http://xml.apache.org/xerces-c/build-winunix.html#UNIX

Is there any better manual about building development version of Xerces?

Here is my problem. I checkouted the Xerces and here is my configuration:

mloskot:~/dev/apache/xerces/_svn/trunk$ svn info | grep URL
URL: http://svn.apache.org/repos/asf/xerces/c/trunk

In the manual, there is said to configure:

export XERCESCROOT=/my/path/to/xerces/_svn/trunk

mloskot:~/dev/apache/xerces/_svn/trunk$ echo $XERCESCROOT
/home/mloskot/dev/apache/xerces/_svn/trunk

Next, I should do:

cd $XERCESCROOT/src/xercesc
autoconf

but it fails because there are no autoconf files to operate on under
this location:

mloskot:~/dev/apache/xerces/_svn/trunk/src/xercesc$ ls
com  dom  framework  internal  NLS  parsers  sax  sax2  util  validators
 xinclude

Also, I can not find the runConfigure script in the SVN sources tree.

However, there is ./configure script in the trunk directory:

mloskot:~/dev/apache/xerces/_svn/trunk$ ls configure
configure

so I tried this one:

mloskot:~/dev/apache/xerces/_svn/trunk$ ./configure
...
configure:
configure: Report:
configure:   NetAccessor: curl
configure:   File Manager: POSIX
configure:   Atomic Op Manager: POSIX
configure:   Mutex Manager: POSIX
configure:   Message Loader: icu
configure:   Transcoder: icu


Now, I try to build it:

########################################################################
mloskot:~/dev/apache/xerces/_svn/trunk$ make
make  all-recursive
make[1]: Entering directory `/home/mloskot/dev/apache/xerces/_svn/trunk'
Making all in lib
make[2]: Entering directory `/home/mloskot/dev/apache/xerces/_svn/trunk/lib'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/home/mloskot/dev/apache/xerces/_svn/trunk/lib'
Making all in src
make[2]: Entering directory `/home/mloskot/dev/apache/xerces/_svn/trunk/src'
Making all in xercesc/util/MsgLoaders/ICU/resources
make[3]: Entering directory
`/home/mloskot/dev/apache/xerces/_svn/trunk/src/xercesc/util/MsgLoaders/ICU/resources'
generating XercesMessages3_0_0_en_US.res
/usr/bin/genrb --package-name XercesMessages3_0_0 en_US.txt
building /obj/.libs/libXercesMessages3_0_0.so
/usr/bin/pkgdata --name XercesMessages3_0_0 --mode dll -v -d .
res-file-list-unix.txt
/usr/bin/pkgdata: No -O option found, trying 'icu-config --incfile'.
/usr/bin/pkgdata: icu-config: using '-O /usr/lib/icu/3.4.1/Makefile.inc'
# Reading res-file-list-unix.txt..
Warning: Found path 'XercesMessages3_0_0_' in file name. Assuming
compatibility (-E) mode.
# Output file: ./lib$(LIBNAME).so
make  -f ./XercesMessages3_0_0_dll.mak
make[4]: Entering directory
`/home/mloskot/dev/apache/xerces/_svn/trunk/src/xercesc/util/MsgLoaders/ICU/resources'
cat res-file-list-unix.txt > ./XercesMessages3_0_0_dll.lst
LD_LIBRARY_PATH=/usr/lib:$LD_LIBRARY_PATH  /usr/sbin/gencmn -c -e
XercesMessages3_0_0 -n XercesMessages3_0_0 -E -t dat -d . 0
./XercesMessages3_0_0_dll.lst
LD_LIBRARY_PATH=/usr/lib:$LD_LIBRARY_PATH  /usr/sbin/genccode -a gcc -n
XercesMessages3_0_0 -e XercesMessages3_0_0 -d . XercesMessages3_0_0.dat
generating assembly code for XercesMessages3_0_0.dat
cc -g -Wall -O2 -fno-strict-aliasing   -D_REENTRANT -D_REENTRANT
-I/usr/include  -c -DPIC -fPIC -o XercesMessages3_0_0_dat.o
./XercesMessages3_0_0_dat.s
rm -rf ./XercesMessages3_0_0_dat.s
cc -DHAVE_CONFIG_H  -D_REENTRANT -D_REENTRANT -I/usr/include -g -Wall
-O2 -fno-strict-aliasing    -shared -o libXercesMessages3_0_0.so
./XercesMessages3_0_0_dat.o -Wl,-Bsymbolic
ls -l libXercesMessages3_0_0.so
-rwxr-xr-x 1 mloskot mloskot 107844 2007-04-25 18:25
libXercesMessages3_0_0.so
make[4]: Leaving directory
`/home/mloskot/dev/apache/xerces/_svn/trunk/src/xercesc/util/MsgLoaders/ICU/resources'
mkdir -p /obj/.libs
mkdir: cannot create directory `/obj': Permission denied
make[3]: *** [/obj/.libs/libXercesMessages3_0_0.so] Error 1
make[3]: Leaving directory
`/home/mloskot/dev/apache/xerces/_svn/trunk/src/xercesc/util/MsgLoaders/ICU/resources'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/mloskot/dev/apache/xerces/_svn/trunk/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/mloskot/dev/apache/xerces/_svn/trunk'
make: *** [all] Error 2
########################################################################


As the error above says, it can't create directory /obj/.libs:

mkdir -p /obj/.libs
mkdir: cannot create directory `/obj': Permission denied

I wonder *why* it tries to create the 'obj' directory in the root
location  ?

Does it mean I have to build Xerces with root privileges?

I'd appreciate if anyone could help me.

Cheers
--
Mateusz Loskot
http://mateusz.loskot.net

Reply via email to