Re: error loading shared libs: Linux, egcs1.1.1

From: E Anciant (anciant@phnx7.saclay.cea.fr)
Date: Thu Jan 21 1999 - 11:00:05 MET


Rene Brun wrote:
> 
> Hi Christian,
> It seems that you compiled Root with the wrong options.
> The egcs compiler option -fno-rtti was probably missing.
> In our Makefile for Linux egcs, the CXXFLAGS parameter is
>   CXXFLAGS      = -Wall -fPIC -DR__GLIBC -fno-rtti -fno-exceptions
> 

I apologize for this very naive question but, why is it so important
to have the same flags when compiling our libraries than the ones
that were used to compile ROOT ?
It seems to me I spend my year long linking binaries with
libraries for which I have no idea of what flags were used ..


I had a similar problem than Christian on Debian 2.0, with gcc,
root was working,
Compiling test was working, but not the follwoing case:
I was using two different classes, compiled into two different
shared libraries, the second class was using objects of 
the first one.
When I was loading those 2 libraries interactively in root 
(cint),
and when I was trying to use objects of the second class,
references to the first one were not resolved.
(not to say I was using the same flags that in test to compile
those libraries)
Would it be usefull to have an exemple of this type
in test, like for exemple having the Class Track being
compiled into a separate shared library than Event ?

I also tried to recompiled ROOT with the Makefile provided
for this version of Debian & gcc, but the result was
core dumping, at this point I gave up, thinking
something is really messed up in this linux Box.

Since I am writing this mail, I have another comment:
I am really willing to use the container classes provided
by ROOT. I am quite new to C++, in the tutorial 
37.Using the Collection Classes, I see that there are
many of them, and when I browse through their descriptions
I just realise the extent of my ignorance in C++,
I don't precisely know what a hash table, nor a double link list,
nor a map are, (I can guess, but I would feel more confortable with
a sound definitions), nor am I confident with the relationship
between a Class and its corresponding Iter class (why is there
one sometimes, none in other cases ??) It is also difficult to
browse through several mother classes to get what a container class
does.
Where could I got some sort of introduction to all the concepts that
are used in the container classes ?
Wouldn't it help a lot of us if such an introduction was provided
in root documentation, (or a link to documentations available on
the webb) ?

thanks a lot,

eric

PS: Since it looks like I only complain in this mail, let me add
that I do think ROOT is a great project.

-- 
----- Eric Anciant ------------
DAPNIA/SPhN - Bat 703 - Orme des merisiers
CE-SACLAY - 91191 GIF-SUR-YVETTE Cedex - FRANCE
Office: (33 - 1) 69 08 22 47  fax: (33-1) 69 08 75 84



This archive was generated by hypermail 2b29 : Tue Jan 04 2000 - 00:43:28 MET