Re: The "undefined symbol:" error while loading a library in ROOT session

From: Philippe Canal <pcanal_at_fnal.gov>
Date: Thu, 14 Apr 2011 13:32:35 -0500


Hi Vassili,

$ echo _ZTV10IntKeyCntr | c++filt
vtable for IntKeyCntr

This usually means that you are missing the implementation of one of your virtual function or that you are missing the dictionary.

Cheers,
Philippe.

On 4/14/11 1:24 PM, Vassili Maroussov wrote:
> Dear ROOTers,
>
> I'm getting the "undefined symbol:"error while trying to load in ROOT session a library with 2 very simple classes. I have no idea
> what is a reason. File are attached, the session log is below. Can someone help me?
>
> Regards,
>
> Vassili
>
> -----------------------
> [vmarouss_at_Ezhik-HDX18 IntKeyList]$
> [vmarouss_at_Ezhik-HDX18 IntKeyList]$ uname -a
> Linux Ezhik-HDX18 2.6.35.12-88.fc14.x86_64 #1 SMP Thu Mar 31 21:21:57 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux
> [vmarouss_at_Ezhik-HDX18 IntKeyList]$ make clean
> [vmarouss_at_Ezhik-HDX18 IntKeyList]$ make
> g++ -O2 -Wall -fPIC -pthread -m64 -I/usr/local/ROOT/pro/include -c IntKeyList.cpp
> Generating dictionary IntKeyListDict.cpp...
> IntKeyListDict.cpp done
> g++ -O2 -Wall -fPIC -pthread -m64 -I/usr/local/ROOT/pro/include -c IntKeyListDict.cpp
> g++ -shared -O2 -Wall -fPIC -pthread -m64 -I/usr/local/ROOT/pro/include IntKeyList.o IntKeyListDict.o -L/usr/local/ROOT/pro/lib
> -lCore -lCint -lRIO -lNet -lHist -lGraf -lGraf3d -lGpad -lTree -lRint -lPostscript -lMatrix -lPhysics -lMathCore -lThread -pthread
> -lm -ldl -rdynamic -o libIntKeyList.so
> libIntKeyList.so done
> [vmarouss_at_Ezhik-HDX18 IntKeyList]$ root
> *******************************************
> * *
> * W E L C O M E to R O O T *
> * *
> * Version 5.28/00b 14 March 2011 *
> * *
> * You are welcome to visit our Web site *
> * http://root.cern.ch *
> * *
> *******************************************
>
> ROOT 5.28/00b (branches/v5-28-00-patches_at_38394, Apr 14 2011, 17:55:00 on linuxx8664gcc)
>
> CINT/ROOT C/C++ Interpreter version 5.18.00, July 2, 2010
> Type ? for help. Commands must be C++ statements.
> Enclose multiple statements between { }.
> root [0] gSystem->Load("libIntKeyList")
> dlopen error: /home/vmarouss/ROOTFLUKA/NeuLAND/IntKeyList/./libIntKeyList.so: undefined symbol: _ZTV10IntKeyCntr
> Load Error: Failed to load Dynamic link library /home/vmarouss/ROOTFLUKA/NeuLAND/IntKeyList/./libIntKeyList.so
> (int)(-1)
> root [1]
>
>
Received on Thu Apr 14 2011 - 20:32:41 CEST

This archive was generated by hypermail 2.2.0 : Thu Apr 14 2011 - 23:50:01 CEST