On Thu, 26 May 2005, Christian Holm Christensen wrote:
> Hi Pierre-Luc,
>
> On Thu, 2005-05-26 at 12:00 -0400, Pierre-Luc Drouin wrote:
> > I have some code that uses Root classes and that I load in Root as a
> > shared library with command gSystem->Load("libqsigex.so"). When I use some
> > of my classes it works fine but it crashes with the following error when
> > another of my classes tries to use Minuit:
> >
> > /libexec/ld-elf.so.1: /home/pldrouin/work/qsigex_new/lib/libqsigex.so:
> > Undefined symbol "_ZN7TMinuitC1Ei"
>
> This is a reference to `TMinuit::TMinuit(int)' (try doing `c++filt
> _ZN7TMinuitC1Ei'). Are you sure you have `libMinuit' loaded?
>
yes, the Minuit library is loaded
> If `libMiniut' is loaded, check that you can create an object using the
> above CTOR. Also check that the symbol is defined by doing
>
> nm -C libMinuit.so | grep TMinuit::TMinuit
Here is what I get:
nm -C libMinuit.so | grep TMinuit::TMinuit
00031f88 T TMinuit::TMinuit(TMinuit const&) 00031846 T TMinuit::TMinuit(int) 00030d34 T TMinuit::TMinuit() 00031c48 T TMinuit::TMinuit(TMinuit const&) 00031444 T TMinuit::TMinuit(int) 00030624 T TMinuit::TMinuit()
>
> > I get this error with FreeBSD 5.4-STABLE. I compile Root with gcc 3.4.2. I
> > get the error with the current CVS Root code and also with Root 4.04.02. I
> > don't get this error on a RedHat Linux box running gcc 3.2
>
> The reason you do not see it on GNU/Linux is perhaps that your library
> pulls in libMinut on its own (your library is linked against libMinut -
> which it shouldn't be btw. as libMinuit is really a plugin.)
I do not link my library against any other library.
Thanks!
Pierre-Luc Drouin Received on Thu May 26 2005 - 19:42:33 MEST
This archive was generated by hypermail 2.2.0 : Tue Jan 02 2007 - 14:45:08 MET