Re: [ROOT] Crashing before main()

From: Christian Holm Christensen (
Date: Wed May 26 2004 - 12:47:00 MEST

Hi Rene,

On Wed, 2004-05-26 at 08:41, Rene Brun wrote:
> Hi Christian,
> In ROOT version 4.00/04 you can 
>  ./configure --enable-explicitlink
> to solve the problem discussed in your mail.

Ah, so you implemented it.  I remember Fons and I discussed that some
time ago. 

I hope you remember to set the `rpath' when `--enable-rpath' is given to
`configure' - otherwise, it's pretty meaningless. 

However, it doesn't change the fact that users have to, by hand specify
the ROOT libraries the client libraries depend on.

> Also note that with the version currently in CVS, the automatic loading
> of a shared lib is implemented, eg
> root > TLorentzVector v;
> This statement in CINT will automatically do gSystem->Load("libPhysics");

But that's an entirely different issue.  This has to do with your plugin
manager.  I think I brought up the issue some time ago with Fons, that
the plugin manager should really be used more heavily.  What I had in
mind, was that libraries like `libFumili' are really plugins and not
libraries at all.   Hence, they should live in a separate directory
(e.g., <prefix>/lib/root/plugins), and really be linked like `libtool
-module' would do (on windows, a dll without a corresponding lib file). 

Maybe, you could extent the system.rootmap functionality a bit further,
so that clients can add more files of that type to some directory
(/etc/root/plugins), as well as some place to look for additional files
with lines like `+Plugin.<...> ......'.  In that way, client code can
easily integrate it's code into ROOT. 

> The rootmap file contains all the dependencies for a given class
> and the corresponding shared libs will be loaded in the right order.

Basically the output of `nm -C', massaged a bit, right? 


 ___  |  Christian Holm Christensen 
  |_| |	 -------------------------------------------------------------
    | |	 Address: Sankt Hansgade 23, 1. th.  Phone:  (+45) 35 35 96 91
     _|	          DK-2200 Copenhagen N       Cell:   (+45) 24 61 85 91
    _|	          Denmark                    Office: (+45) 353  25 404
 ____|	 Email:               Web:
 | |

This archive was generated by hypermail 2b29 : Sun Jan 02 2005 - 05:50:08 MET