RE: [ROOT] ACLiC error

From: Davide Grandi (Davide.Grandi@cern.ch)
Date: Wed Mar 19 2003 - 12:21:21 MET


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