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

From: Rene Brun (Rene.Brun@cern.ch)
Date: Thu Jan 21 1999 - 16:49:41 MET


E Anciant wrote:
> 
> 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 ?

Hi Eric,
I do not understand this problem. Root itself comes with several
shared libs with interconnexions between libs.
Under egcs, the important compiler option is -fno-rtti

> 
> 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) ?
> 

You can find an introduction with examples and pictures
to the Root container class in the Root course 2 by Fons.
You can import the 3 Root courses (ps files) from URL:
  http://root.cern.ch/root/Publications.html
 click on items Part1, Part2, Part3

Rene Brun


> 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