Hi Andreas,
Do you have problems in compiling or linking?
I do not understand your use of the option "-xar" below.
The man page in CC5.2 says:
-xar Creates archive libraries.
When building a C++ archive that uses templates,
it is necessary in most cases to include in the
archive those template functions that are instan-
tiated in the template repository. Using this
option automatically adds those templates to the
archive as needed.
Examples:
The following command archives the template func-
tions contained in the repository and the object
files.
% CC -xar -o libmain.a a.o b.o c.o
In your example, you use this option to create an executable rootcint.
Do you see the problem only when linking rootcint and cint?
Rene Brun
On Mon, 15 Jul 2002, Andreas Zoglauer wrote:
>
>
> Hello
>
>
> Symptom:
> ROOT does not compile on Solaris 2.8 with CC 5.3
>
>
> Error messages:
> CC -O -o bin/rootcint utils/src/rootcint.o \
> -Llib -lCint -lm -ltermcap -ldl
> Undefined first referenced
> symbol in file
> __rwstd::__rb_tree<std::basic_string<char,std::char_traits<char>,std::allocator<char>
> >,std::basic_string<char,std::char_traits<char>,std::allocator<char>
> >,__rwstd::__ident<std::basic_string<char,std::char_traits<char>,std::allocator<char>
> >,std::basic_string<char,std::char_traits<char>,std::allocator<char> >
> >,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>
> >
> >,std::allocator<std::basic_string<char,std::char_traits<char>,std::allocator<char>
> > > >::iterator
> __rwstd::__rb_tree<std::basic_string<char,std::char_traits<char>,std::allocator<char>
> >,std::basic_string<char,std::char_traits<char>,std::allocator<char>
> >,__rwstd::__ident<std::basic_string<char,std::char_traits<char>,std::allocator<char>
> >,std::basic_string<char,std::char_traits<char>,std::allocator<char> >
> >,std::less<std::basic_string<char,std::c
> >
> <Skip the rest>
>
>
> Similar errors for files:
> * bin/cint
> * bin/rootcint
>
>
>
> After hours and hours and hours of investigation...
>
> The solution:
>
> Link with the option -xar:
> CC -O -xar -o bin/cint cint/main/cppmain.o -Llib -lCint -lm -ltermcap -ldl
> CC -O -xar -o bin/rootcint utils/src/rootcint.o -Llib -lCint -lm -ltermcap
> -ldl
>
> Cause of the failure:
> The compiler version 5.3 has (known) problems with templates as they
> appear in the standard template library ;-(
>
>
> That's it!
>
> Andreas
>
>
> System specifications:
>
> Solaris: 2.8
> CC: Sun WorkShop 6 update 2 C++ 5.3 Patch 111685-04 2001/12/13
> ROOT: 3.03.06
> Configure: solarisCC5 --enable-thread --enable-opengl
>
>
>
>
> ----------------------------------------------------------------------
> Andreas Zoglauer
>
> MPI fuer extraterrestrische Physik Phone: +49/89-30000-3848
> Postfach 1312 Fax: +49/89-30000-3569
> 85741 Garching, Germany Email: zog@mpe.mpg.de
> ----------------------------------------------------------------------
>
This archive was generated by hypermail 2b29 : Sat Jan 04 2003 - 23:50:59 MET