Thanks for the suggestion. Yes I use XERCESCROOT and everything compiles just fine and creates the "obj" directory fine. The problem is linking the .so file. Here's the error I've applied the latest patches from sun and this *looks* like a CC bug to me.
Solaris 7, CC 5.0 - up to here no errors ... ld: fatal: symbol `RefHashTableOfEnumerator<DTDAttDef>::~RefHashTableOfEnumerator #Nvariant 1()' is multiply defined: (file /space/home/dave/XML/Xerces-C-src_1_0_1/obj/DTDAttDefList.o and file /space/home/dave/XML/Xerces-C-src_1_0_1/obj/DTDElementDecl.o); ld: fatal: File processing errors. No output written to /space/home/dave/XML/Xerces-C-src_1_0_1/lib/libxerces-c1_0.so gmake[1]: *** [/space/home/dave/XML/Xerces-C-src_1_0_1/lib/libxerces-c1_0.so] Error 1 gmake[1]: Target `ALL' not remade because of errors. gmake[1]: Leaving directory `/space/home/dave/XML/Xerces-C-src_1_0_1/obj' > Karen, > > Solaris binary drop for xml4c ver 301 (same as xerces 1.0.1 except that its > built with icu ) is available on alphaworks (www.alphaworks.ibm.com). However > we do build here also on solaris 2.6 with CC 4.2 without any problems . Did > you have XERCESCROOT environment variable set before compiling? Normally you > don't get .o's build in obj directory if you don't have that set. > The EnumVal problem is fixed in the latest code. We'd soon be coming up with a > new release with many changes incorporated in it. So, if you want you can pull > up the latest code from CVS in xml.apache.org as well. This fix is in samples > directory Makefile.incl > Hope that solves your problem. > Thanks, > Arundhati > > [EMAIL PROTECTED] wrote: > > > I've encountered a couple of minor issues while building xerces using > > CC 4.2 under Solaris 2.6. I realize that I can pick up a pre-built > > version but I have to try to build the IRIX version anyway and thought > > it would be good to do a build that had a good chance of working before > > starting on IRIX. > > > > The build issues I encountered: > > > > 1. the shared library is made without any .o files. They exist but the > > following line in the Makefile in the obj directory doesn't work: > > ALL_OBJECTS=$(wildcard $(ALL_OBJECTS_DIR)/*.o) > > > > I easily fixed this by using "shell ls" in place of wildcard. Is this > > a problem with my version of make? I'm using 3.77 > > [EMAIL PROTECTED]:73} make -v > > GNU Make version 3.77, by Richard Stallman and Roland McGrath. > > Copyright (C) 1988, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98 > > ... > > > > The other build problem was with the test program EnumVal > > > > [EMAIL PROTECTED]:93} make > > mkdir -p /msrc/proj/ecce/3rdapps/Xerces-C-src_1_0_1/bin/obj/EnumVal > > CC -c -DSOLARIS -c -w -O -I. > > -I/msrc/proj/ecce/3rdapps/Xerces-C-src_1_0_1/include -o > > /msrc/proj/ecce/3rdapps/Xerces-C-src_1_0_1/bin/obj/EnumVal/EnumVal.o > > /msrc/proj/ecce/3rdapps/Xerces-C-src_1_0_1/samples/EnumVal/EnumVal.cpp > > template manager : Warning: No valid template database available. > > Creating default repository "Templates.DB". > > CC -DSOLARIS -L/usr/lib > > /msrc/proj/ecce/3rdapps/Xerces-C-src_1_0_1/bin/obj/EnumVal/EnumVal.o -o > > /msrc/proj/ecce/3rdapps/Xerces-C-src_1_0_1/bin/EnumVal > > -L/msrc/proj/ecce/3rdapps/Xerces-C-src_1_0_1/lib -lxerces-c1_0 -lC -lc > > -lgen > > Undefined first referenced > > symbol in file > > gNoSuchElementException_Name Templates.DB/PGxQ_1D6adDU.o > > ld: fatal: Symbol referencing errors. No output written to > > /msrc/proj/ecce/3rdapps/Xerces-C-src_1_0_1/bin/EnumVal > > make: *** [/msrc/proj/ecce/3rdapps/Xerces-C-src_1_0_1/bin/EnumVal] Error 1 > > > > I noticed that it is defined in util/NoSuchElementException.hpp so > > I'm not sure what is going on here. > > > > Any help would be appreciated. > > Karen >
