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