"header declared but not defined" error message


I have found a useful Proof example at

people.web.psi.ch/feichtinger/do … eparations

I am however confused about an error message I get when trying to run my own code.

I have an event structure class called MyEvent that I use in an example processor that I call myselector.C. Following the above example, I make .par files for the MyEvent code and for the myselector code. Unlike the above code, myselector does not inherit from MyEvent, but uses it. I run with the following commands and and everything compiles just fine, but I get the error listed at the bottom when I execute the process command. Do you know what this error means by chance?

[code] gROOT->Proof(“twserv3.spa.umn.edu”)
TDSet *set
set = new TDSet(“TTree”,“dvv”)
set->Add("/data/farmlib/smith/trees/ddbar/data31/MyEvent_mc-ddbar-generic_1_all_data31_0.root"); set->Add("/data/farmlib/smith/trees/ddbar/data31/MyEvent_mc-ddbar-generic_1_all_data31_1.root");

set->Process("/home/hep/smith/proof/packages/libmyselector/myselector.C", “”, 500000)

I get the error below. The line it refers to is where I create the MyEvent object with “new”.

Error: MyEvent() header declared but not defined FILE:/home/hep/smith/proof/packages/libmyselector/myselector.C LINE:34 What does this mean? The compiler did not complain.


Hi Alex,

this is a problem related to the package files not being available on the client for the time being. You need to make sure that the header files used in the selector are also available on the client (since the client also runs the selector code). As work around you can put in your ./.rootlogon.C something like:[code]{
// Load the ESD library (part of your package)

// set include paths for CINT and AClic
gSystem->SetIncludePath("-I$ROOTSYS/include -IAliESD");
gROOT->ProcessLine(".include AliESD");

Cheers, Fons.