Hi Christophe, Pere,
The solution to the problem is effectively along the lines of what
you indicate, except that it has to run on all our supported platforms.
We have now a working solution tested on all platforms and we expect to release
this facility in a coming release.
The idea is to generate automatically a libXXX.map file for each libXXX.so
file. Interactively, ROOT will scan the LD_LIBRARY_PATH to search for
all possible *.map files to locate a given class.
This new facility will simplify several operations.
-we will be able to do a dynamic linking automatically when referencing
an unknown class (no need for gSystem->Load anymore).
-The documentation generation system will also be able to exploit
this new facility to generate the class index per library.
-and last, but not least, you will be able to ask "In which lib
class yyy is?"
Rene Brun
"Christophe Delaere (by way of Christophe Delaere )" wrote:
>
> Hi,
>
> Here are 2 of these (for Linux with bash):
> (1)
> cd $ROOTSYS/lib
> for i in *.so; { echo $i; nm $i | grep -i classname; }
> You will see the list of all libs, followed by the symbols related with your
> class. Look at the one with a "T" in front (not a U). This is the one you are
> looking for.
>
> (2)
> simply look in which directory is the class defined. For that you must have
> the full source tree. There is one library per directory:
> cd $ROOTSYS
> find ./ -name classname.cc
> Look at the directory were it is found. Only the case may differ.
>
> Hope this helps,
> Christophe.
>
> On Wednesday 22 October 2003 09:51, Pere Mato Vila wrote:
> > Dear rooters,
> >
> > What is the easiest way for a user to find out what is the ROOT
> > library containing a given class? I didn't see any indication in the
> > documentation of a class about what library is the one I have to
> > link/load to access it. Thanks in advance,
> >
> >
> > ------------------------------------------------------------
> > Pere Mato CERN, EP Division, CH 1211 Geneva 23, Switzerland
> > e-mail: Pere.Mato@cern.ch tel: +41 22 76 78696
> > fax: +41 22 76 79425 gsm: +41 79 20 10855
>
> --
> +-----------------------------------------------------------\|/---+
>
> | Christophe DELAERE office: e253 !o o! |
> | UCL - FYNU phone : 32-(0)10-473234 ! i ! |
> | chemin du cyclotron, 2 fax : 32-(0)10-452183 `-' |
> | 1348 Louvain-la-Neuve BELGIUM e-mail: delaere@fynu.ucl.ac.be |
>
> +-----------------------------------------------------------------+
This archive was generated by hypermail 2b29 : Thu Jan 01 2004 - 17:50:16 MET