Re: Error Loading Shared Libraries

From: Valeri Fine (Faine) (fine@bnl.gov)
Date: Mon Aug 02 1999 - 18:45:50 MEST


> When trying to load a shared library (a modified version of TView) I get
> the following error 
> 
> dlopen error: /home/michaelk/hallc/evdisplay/./TJView.so: undefined symbol: __ti7TObject
> Load Error: Dynamic link library /home/michaelk/hallc/evdisplay/./TJView.so can not load
> 

  This sounds like your are going to use your own stand-alone code but the "regular" root. Why ?

> 
> any ideas?
> 
> 
> Also, once I finally get this thing loaded, how can I make sure there will
> be no "collisions" with the old TView? 

  I didn't get your point why this can be happen at all. I see no way for any collision.

> Can I force a TPad, once a 3d
> geometry is made, to use a TJView as opposed to a TView?

  Have a look tutorials/basic3d.C and TView::TView(Int_t system) ctor.
  That macro creates its own view. That you may replace with your own one, namely

instead of 

  // creating a view
   view = new TView(1);
   view->SetRange(5,5,5,25,25,25);

do 

  // creating a view
   view = new TJView(1);
   view->SetRange(5,5,5,25,25,25);
 
 Pay your attention on the statements from TView::TView(Int_t system) 
 It "says:

        gPad->SetView(this);

You should provide something like this either "inside" of your TJView ctor or "outdoor",
 some where in your  macro/code. For example for "basic3d.C"

 // create a pad
   p1 = new TPad("p1","p1",0.05,0.02,0.95,0.82,46,3,1);
   p1->Draw();
   p1->cd();
 
   // creating a view
   view = new TJView(1);
   view->SetRange(5,5,5,25,25,25);

   p1->SetView(view);  // this is "outdoor" version

 Hope this helps,
                                      Valery




  

  Hope this helps,



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