Re: error linking shared library

Fons Rademakers (rdm@pcsalo.cern.ch)
Sat, 22 May 1999 18:46:56 +0200 (METDST)


No, it is not needed to link a shared lib against the ROOT libs (except on
AIX). I guess something else in the shared lib build process is wrong
(compiler options, missing ClassImp, etc.). Please mail me you class and
compiler procedure.

Cheers, Fons.

>
>
> Charles Leggett writes:
> >
> > I just tried linking in a shared library to root, using the directions and
> > files as described in the "Extending ROOT with Shared Libraries and an Example
> > of Object I/O" tutorial #44. I'm able to make the library with no problems, but
> > when I try to load it into root with "gSystem.Load("event.sl")", I get the
> > error message:
> >
> > dlopen error: ./event.sl: undefined symbol: __tf7TObject
> > Load Error: Dynamic link library ./event.sl can not load
> > (int)(-1)
> >
>
> Charles: tell linker about ROOT libraries when linking `event.sl'.
> When you're linking a shared library which you later on intend to load in
> dynamically, make sure that all the external references therein are
> resolved at link time - this is the way dynamic loader works.
>
> - pasha
>

-- 
Org:    CERN, European Laboratory for Particle Physics.
Mail:   1211 Geneve 23, Switzerland
E-Mail: Fons.Rademakers@cern.ch              Phone: +41 22 7679248
WWW:    http://root.cern.ch/~rdm/            Fax:   +41 22 7677910