Thank You Philippe, you were right, this file was included by mistake in another file included in test.C. Again thanks Cheers davide On Tue, 18 Mar 2003, Philippe Canal wrote: > Hi Davide, > > From your description you get: > > root[4] Roottree.Process("test.C+"); //or ("test.C++"); > Info in <TUnixSystem::ACLiC>: creating shared library > /users/dgrandi/./test_C.so > Error: link requested for unknown class TrRecHitRoot02 > FILE:/users/dgrandi/demo/LinkDef.h LINE:24 > > This would happen if > test.h or test.C includes (directly or indirectly) a LinkDef.h file > or > there is a file named test_linkdef.h which includes LinkDef.h > > Cheers, > Philippe. > > -----Original Message----- > From: owner-roottalk@pcroot.cern.ch > [mailto:owner-roottalk@pcroot.cern.ch]On Behalf Of Davide Grandi > Sent: Tuesday, March 18, 2003 11:48 AM > To: roottalk@pcroot.cern.ch > Subject: [ROOT] ACLiC error > > > Dear root family, > I use root version 3.05.02 on Linux RH 7.2 on a double processor > 2.00GHz machine. > I'm reading a tree with TCloneArrays, TRef and TRefArrays. So: > 1) I load the tree > > root[0] TFile *f = new TFile("tree.root"); > > 2) and root warns about dictionary as for example > > Warning in <TClass::TClass>: no dictionary for class TrRecHitRoot02 is > available > > 3) I generate the dictionary and shared lib and dynamically link it > > root [1] f.MakeProject("demo","*","recreate++"); > > demo/MAKE file has been generzted > Shared lib demo/demo.so has been generated > Shared lib demo/demo.so has been dynamically linked > > 4) then I create with MakeSelector a test.C and test.h file > > root [2] Roottree->MakeSelector("test"); > Info in <TTreePlayer::MakeClass>: Files: test.h and test.C generated > from Tree: Roottree > > 5) I include all files *.h of dir demo/ in test.h. Then I run > > root [3] Roottree.Process ("test.C")) > > on the tree simply doing for example in Processfill > > fChain->GetTree()->GetEntry(entry); > cout << entry << endl; > > And everything works fine. > > 6) But if I try to use ACLiC as > > root[4] Roottree.Process("test.C+"); //or ("test.C++"); > > I got > > Info in <TUnixSystem::ACLiC>: creating shared library > /users/dgrandi/./test_C.so > > and immediately the following error: > > Error: link requested for unknown class TrRecHitRoot02 > FILE:/users/dgrandi/demo/LinkDef.h LINE:24 > with final result > > Warning: Error occured during reading source files > Warning: Error occured during dictionary source generation > !!!Removing /users/dgrandi/./fileuvnwjO.cxx > /users/dgrandi//./fileuvnwjO.h !!! > Error: rootcint: error loading headers... > Error in <ACLiC>: Dictionary generation failed! > Error in <TSelector::GetSelector>: file test.C+ does not have a valid > class deriving from TSelector > > > Does someone have an idea why I got this link error (after creating shared > lib and having linked it....) and how to avoid it? > > Thank You in advance > > Cheers > Davide > > ********************************************************************** > $ Davide Grandi % > $ INFN Milano e-mail Davide.Grandi@mib.infn.it % > $ P.zza delle Scienze 3 phone +39 02 6448 2306 % > $ 20126 MILANO fax +39 02 6448 2367 % > $ ITALY % > $ % > $ at CERN e-mail Davide.Grandi@cern.ch % > $ CH-1211 Geneve CH phone +41 22 767 9403 % > $ Bldg. 506 room R018 % > $ or phone +41 22 767 7560 % > $ Bldg. 576 room R002 % > &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& > > > > > > > > > -- ********************************************************************** $ Davide Grandi % $ INFN Milano e-mail Davide.Grandi@mib.infn.it % $ P.zza delle Scienze 3 phone +39 02 6448 2306 % $ 20126 MILANO fax +39 02 6448 2367 % $ ITALY % $ % $ at CERN e-mail Davide.Grandi@cern.ch % $ CH-1211 Geneve CH phone +41 22 767 9403 % $ Bldg. 506 room R018 % $ or phone +41 22 767 7560 % $ Bldg. 576 room R002 % &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
This archive was generated by hypermail 2b29 : Thu Jan 01 2004 - 17:50:10 MET