You are viewing a plain text version of this content. The canonical link for it is here.
Posted to general@xerces.apache.org by Arundhati Bhowmick <ar...@hyperreal.org> on 2000/02/07 19:43:18 UTC

Re: solaris build issues for C

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

d39974@emsl.pnl.gov 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
> {d39974@goofey: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
>
> {d39974@goofey: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


Re: solaris build issues for C

Posted by "David A. Lee" <da...@calldei.com>.
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
>
> d39974@emsl.pnl.gov 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
> > {d39974@goofey: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
> >
> > {d39974@goofey: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
>