Dear Rooters, I have been have trouble making root programs for different platforms other than decunix with g++(where the programs now run). At first I thought I was having problems with the native Sun c++ compiler, but now I experiencing the same problems using a SGI native c++ compiler. When I run the program my class dictionaries are not found (see #1 below), but when I run a macro in root/cint (see #2 below) the dictionaries are found and the macro run fine. I have used the Makefile and the rules for Event found in the test directory. In addition I have created MyClass LinkDef.hLinkDef.h files modeled after EventLinkDef.h Could I be missing something in the make? I'm lost as to what is wrong. I believe that I have all the ingredients to add my classes --and it does work on one platform.... For completness, I've included my Makefile #3 and make output #4 ####### #1 physgi03f 155% dumpRdt -n2 -iEvent.rdt -L Dumping 2events Opening file Event.rdt for input Warning in <TClass::TClass>: no dictionary for class TMCFastHepParticle is availbble Warning in <TClass::TClass>: no dictionary for class TMCFastHepEvt is availbble Warning in <TClass::TClass>: no dictionary for class TMCFastTOF is availbble Warning in <TClass::TClass>: no dictionary for class TMCFastOfflineTrack is availbble List the Branches in the Tree hepevt trace offtrk ######## #2 CINT/ROOT C/C++ Interpreter version 5.13.78, Oct 22 1998 root [0] gSystem.Load("libTMCFast.so"); root [1] .class TMCFastHepParticle =========================================================================== class TMCFastHepParticle //Needed by ROOT size=0x70 (tagnum=361,voffset=-1,isabstract=0,parent=-1,gcomp=0,=~cd=0) List of base class-------------------------------------------------------- 0x0 public: TObject //Basic ROOT object List of member variable--------------------------------------------------- Defined in TMCFastHepParticle 0x0 private: Int_t fisthep //The Particle status 0x0 private: Int_t fidhep //The particle id 0x0 private: Int_t fjmohep[] //The position of the mother particles 0x0 private: Int_t fjdahep[] //Position of the first daughter... 0x0 private: Double_t fphep[] //4-Momentum, mass 0x0 private: Double_t fvhep[] //Vertex information, time 0x0 private: static TClass* fgIsA List of member function--------------------------------------------------- Defined in TMCFastHepParticle filename line:size busy function type and name (compiled) 0:0 0 public: TMCFastHepParticle TMCFastHepParticle(void); (compiled) 0:0 0 public: TMCFastHepParticle TMCFastHepParticle(heppart_t* part); (compiled) 0:0 0 public: Int_t GetIsthep(void) const; (compiled) 0:0 0 public: Int_t GetIdhep(void) const; (compiled) 0:0 0 public: Int_t GetJmohep(Int_t j) const; -- Press return for more -- (input [number] of lines, Cont,Step,More) 0 (compiled) 0:0 0 public: Int_t GetJdahep(Int_t j) const; (compiled) 0:0 0 public: Double_t GetMass(void) const; (compiled) 0:0 0 public: Double_t GetPx(void) const; (compiled) 0:0 0 public: Double_t GetPy(void) const; (compiled) 0:0 0 public: Double_t GetPz(void) const; (compiled) 0:0 0 public: Double_t GetE(void) const; (compiled) 0:0 0 public: Double_t GetVx(void) const; (compiled) 0:0 0 public: Double_t GetVy(void) const; (compiled) 0:0 0 public: Double_t GetVz(void) const; (compiled) 0:0 0 public: Double_t GetVt(void) const; (compiled) 0:0 0 public: void SetIsthep(Int_t n); (compiled) 0:0 0 public: void SetIdhep(Int_t n); (compiled) 0:0 0 public: void SetJmohep(Int_t j,Int_t n); (compiled) 0:0 0 public: void SetJdahep(Int_t j,Int_t n); (compiled) 0:0 0 public: void SetMass(Double_t x); (compiled) 0:0 0 public: void SetPx(Double_t x); (compiled) 0:0 0 public: void SetPy(Double_t x); (compiled) 0:0 0 public: void SetPz(Double_t x); (compiled) 0:0 0 public: void SetE(Double_t x); (compiled) 0:0 0 public: void SetVx(Double_t x); (compiled) 0:0 0 public: void SetVy(Double_t x); (compiled) 0:0 0 public: void SetVz(Double_t x); (compiled) 0:0 0 public: void SetVt(Double_t x); (compiled) 0:0 0 public: void Print(ostream* os); (compiled) 0:0 0 public: void Fill(heppart_t* part); (compiled) 0:0 0 public: const char* DeclFileName(void); (compiled) 0:0 0 public: int DeclFileLine(void); (compiled) 0:0 0 public: const char* ImplFileName(void); (compiled) 0:0 0 public: int ImplFileLine(void); (compiled) 0:0 0 public: Version_t Class_Version(void); (compiled) 0:0 0 public: TClass* Class(void); (compiled) 0:0 0 public: void Dictionary(void); (compiled) 0:0 0 public: virtual TClass* IsA(void) const; (compiled) 0:0 0 public: virtual void ShowMembers(TMemberInspector& insp,char* parent); (compiled) 0:0 0 public: virtual void Streamer(TBuffer& b); (compiled) 0:0 0 public: TMCFastHepParticle TMCFastHepParticle(TMCFastHepParticle&); (compiled) 0:0 0 public: virtual void ~TMCFastHepParticle(void); ######### #3 # ObjSuf = o SrcSuf = cxx ExeSuf = DllSuf = so MCFASTLIB = $(TMCFastO) OutPutOpt = -o ROOTLIBS = -L$(ROOTSYS)/lib -lNew -lBase -lCint -lClib -lCont -lFunc \ -lGraf -lGraf3d -lHist -lHtml -lMatrix -lMeta -lMinuit -lNet \ -lPostscript -lProof -lTree -lUnix -lZip ROOTGLIBS = -lGpad -lGui -lGX11 -lX3d # SGI with GCC CXX = g++ CXXFLAGS = -fsigned-char -fPIC -I$(ROOTSYS)/include LD = g++ LDFLAGS = -g -Wl,-u,__builtin_new -Wl,-u,__builtin_delete -Wl,-u,__nw__FUiPv SOFLAGS = -shared LIBS = $(ROOTLIBS) -lg++ -lm -ldl GLIBS = $(ROOTLIBS) $(ROOTGLIBS) -lXpm -lX11 -lg++ -lm -lPW -ldl # SGI CXX = CC CXXFLAGS = -I$(ROOTSYS)/include LD = CC LDFLAGS = -g SOFLAGS = -shared LIBS = $(ROOTLIBS) -lm -ldl GLIBS = $(ROOTLIBS) $(ROOTGLIBS) -lXpm -lX11 -lm -lPW -ldl # Alpha/OSF with g++ #CXX = g++ ##CXXFLAGS = -O -I$(ROOTSYS)/include #CXXFLAGS = -O -Wall -fno-rtti -fno-exceptions -fPIC -I$(ROOTSYS)/include -g #LD = g++ #LDFLAGS = -g #SOFLAGS = -Wl,-expect_unresolved,* -shared #LIBS = $(ROOTLIBS) -lg++ -lm #GLIBS = $(ROOTLIBS) $(ROOTGLIBS) -lXpm -lX11 -lg++ -lm -lPW #------------------------------------------------------------------------------ TMCFastO = TMCFastHepEvt.$(ObjSuf) TMCFastTOF.$(ObjSuf) \ TMCFastOfflineTrack.$(ObjSuf) TMCFastHepParticle.$(ObjSuf) \ TMCFastHepEvtDict.$(ObjSuf) TMCFastTOFDict.$(ObjSuf) \ TMCFastOfflineTrackDict.$(ObjSuf) TMCFastHepParticleDict.$(ObjSuf) TMCFastS = TMCFastHepEvt.$(SrcSuf) TMCFastTOF.$(SrcSuf) \ TMCFastOfflineTrack.$(SrcSuf) TMCFastHepParticle.$(SrcSuf)\ TMCFastHepEvtDict.$(SrcSuf) TMCFastTOFDict.$(SrcSuf) \ TMCFastOfflineTrackDict.$(SrcSuf) TMCFastHepParticleDict.$(SrcSuf) MAIN1O = mcfast2root.$(ObjSuf) MAIN1S = mcfast2root.$(SrcSuf) MAIN2O = dumpRdt.$(ObjSuf) MAIN2S = dumpRdt.$(SrcSuf) TMCFast = mcfast2root$(ExeSuf) TMCFast2 = dumpRdt$(ExeSuf) TMCFastSO = libTMCFast.$(DllSuf) OBJS = $(TMCFastO) $(MAIN1O) PROGRAMS = $(TMCFast) $(TMCFast2) all: $(PROGRAMS) $(TMCFast): $(TMCFastO) $(MAIN1O) $(LD) $(SOFLAGS) $(LDFLAGS) $(TMCFastO) $(OutPutOpt) $(TMCFastSO) $(LD) $(LDFLAGS) $(MAIN1O) $(MCFASTLIB) $(LIBS) $(OutPutOpt) $(TMCFast) @echo "$(TMCFast) done" $(TMCFast2): $(TMCFastO) $(MAIN2O) $(LD) $(SOFLAGS) $(LDFLAGS) $(TMCFastO) $(OutPutOpt) $(TMCFastSO) $(LD) $(LDFLAGS) $(MAIN2O) $(MCFASTLIB) $(LIBS) $(OutPutOpt) $(TMCFast2) @echo "$(TMCFast2) done" clean: @rm -f $(OBJS) *Dict.* core .SUFFIXES: .$(SrcSuf) ### TMCFastHepEvt.$(ObjSuf): TMCFastHepEvt.h TMCFastTOF.$(ObjSuf): TMCFastTOF.h TMCFastOfflineTrack.$(ObjSuf): TMCFastOfflineTrack.h TMCFastHepParticle.$(ObjSuf): TMCFastHepParticle.h mcfast2root.$(ObjSuf): TMCFastHepEvt.h TMCFastHepParticle.h TMCFastTOF.h TMCFastOfflineTrack.h TMCFastHepParticle.h dumpRdt.$(ObjSuf): TMCFastHepEvt.h TMCFastHepParticle.h TMCFastTOF.h TMCFastOfflineTrack.h TMCFastHepEvtDict.$(SrcSuf): TMCFastHepEvt.h TMCFastHepEvtLinkDef.h @echo "Generating dictionary TMCFastHepEvtDict..." @$(ROOTSYS)/bin/rootcint -f TMCFastHepEvtDict.$(SrcSuf) -c TMCFastHepEvt.h TMCFastHepEvtLinkDef.h TMCFastTOFDict.$(SrcSuf): TMCFastTOF.h TMCFastTOFLinkDef.h @echo "Generating dictionary TMCFastTOFDict..." @$(ROOTSYS)/bin/rootcint -f TMCFastTOFDict.$(SrcSuf) -c TMCFastTOF.h TMCFastTOFLinkDef.h TMCFastOfflineTrackDict.$(SrcSuf): TMCFastOfflineTrack.h TMCFastOfflineTrackLinkDef.h @echo "Generating dictionary TMCFastOfflineTrackDict..." @$(ROOTSYS)/bin/rootcint -f TMCFastOfflineTrackDict.$(SrcSuf) -c TMCFastOfflineTrack.h TMCFastOfflineTrackLinkDef.h TMCFastHepParticleDict.$(SrcSuf): TMCFastHepParticle.h TMCFastHepParticleLinkDef.h @echo "Generating dictionary TMCFastHepParticleDict..." @$(ROOTSYS)/bin/rootcint -f TMCFastHepParticleDict.$(SrcSuf) -c TMCFastHepParticle.h TMCFastHepParticleLinkDef.h .$(SrcSuf).$(ObjSuf): $(CXX) $(CXXFLAGS) -c $< ##### #4 physgi03f 182% make dumpRdt CC -I/home/physgi.usr4/eugenio/root/include -c TMCFastHepEvt.cxx CC -I/home/physgi.usr4/eugenio/root/include -c TMCFastTOF.cxx CC -I/home/physgi.usr4/eugenio/root/include -c TMCFastOfflineTrack.cxx CC -I/home/physgi.usr4/eugenio/root/include -c TMCFastHepParticle.cxx Generating dictionary TMCFastHepEvtDict... Note: operator new() masked 1c CC -I/home/physgi.usr4/eugenio/root/include -c TMCFastHepEvtDict.cxx Generating dictionary TMCFastTOFDict... Note: operator new() masked 1c CC -I/home/physgi.usr4/eugenio/root/include -c TMCFastTOFDict.cxx Generating dictionary TMCFastOfflineTrackDict... Note: operator new() masked 1c CC -I/home/physgi.usr4/eugenio/root/include -c TMCFastOfflineTrackDict.cxx Generating dictionary TMCFastHepParticleDict... Note: operator new() masked 1c CC -I/home/physgi.usr4/eugenio/root/include -c TMCFastHepParticleDict.cxx CC -I/home/physgi.usr4/eugenio/root/include -c dumpRdt.cxx CC -shared -g TMCFastHepEvt.o TMCFastTOF.o TMCFastOfflineTrack.o TMCFastHepParticle.o TMCFastHepEvtDict.o TMCFastTOFDict.o TMCFastOfflineTrackDict.o TMCFastHepParticleDict.o -o libTMCFast.so ld: Unresolved: TObject::Browse(TBrowser*) TObject::ClassName(void) const TObject::Clone(void) TObject::Close(const char*) TObject::Compare(TObject*) TObject::Copy(TObject&) TObject::Delete(const char*) TObject::DistancetoPrimitive(int,int) TObject::Draw(const char*) TObject::DrawClass(void) TObject::DrawClone(const char*) TObject::Dump(void) TObject::Execute(char*,char*) TObject::Execute(TMethod*,TObjArray*) TObject::ExecuteEvent(int,int,int) TObject::GetDrawOption(void) const TObject::GetUniqueID(void) const TObject::GetName(void) const TObject::GetIconName(void) const TObject::GetObjectInfo(int,int) TObject::GetTitle(void) const TObject::Hash(void) TObject::InheritsFrom(const char*) TObject::InheritsFrom(const TClass*) TObject::Inspect(void) TObject::IsFolder(void) TObject::IsEqual(TObject*) TObject::Is3D(void) TObject::ls(const char*) TObject::Paint(const char*) TObject::Pop(void) TObject::Print(const char*) TObject::Read(const char*) TObject::RecursiveRemove(TObject*) TObject::SavePrimitive(ofstream&,const char*) TObject::SetDrawOption(const char*) TObject::SetUniqueID(unsigned int) TObject::Sizeof3D(void) const TObject::UseCurrentStyle(void) TObject::Write(const char*,int,int) AddClass(const char*,short,void (*)(void)) RemoveClass(const char*) TStorage::ObjectAlloc(unsigned int) TObject::TObject(void) TClonesArray::TClonesArray(char*,int,unsigned char) TObject::~TObject(void) TObject::operator delete(void*) TStorage::ObjectAlloc(unsigned int,void*) CreateClass(const char*,short,const char*,const char*,int,int) TObject::SetBit(unsigned int,unsigned char) sqrt G__add_macro G__add_compiledheader G__getaryconstruct G__get_linked_tagnum G__int G__setnull G__getstructoffset G__letint TObject::TObject(const TObject&) G__getgvp G__setsizep2memfunc G__getnumbaseclass G__inheritance_setup G__search_typename2 G__setnewtype G__tag_memvar_setup G__defined_typename G__memvar_setup G__tag_memvar_reset G__tag_memfunc_setup G__memfunc_setup G__tag_memfunc_reset G__resetplocal G__resetglobalenv G__lastifuncposition G__resetifuncposition G__tagtable_setup G__check_setup_version G__getsizep2memfunc TBuffer::ReadObject(const TClass*) G__add_setup_func G__remove_setup_func TObject::ShowMembers(TMemberInspector&,char*) TBuffer::ReadVersion(void) TObject::Streamer(TBuffer&) TBuffer::WriteVersion(const TClass*) TBuffer::Expand(int) G__letdouble G__double TBuffer::ReadStaticArray(int*) TBuffer::ReadStaticArray(double*) TBuffer::WriteArray(const int*,int) TBuffer::WriteArray(const double*,int) CC -g dumpRdt.o TMCFastHepEvt.o TMCFastTOF.o TMCFastOfflineTrack.o TMCFastHepParticle.o TMCFastHepEvtDict.o TMCFastTOFDict.o TMCFastOfflineTrackDict.o TMCFastHepParticleDict.o -L/home/physgi.usr4/eugenio/root/lib -lNew -lBase -lCint -lClib -lCont -lFunc -lGraf -lGraf3d -lHist -lHtml -lMatrix -lMeta -lMinuit -lNet -lPostscript -lProof -lTree -lUnix -lZip -lm -ldl -o dumpRdt ld: The shared object /usr/lib/libdl.so did not resolve any symbols. You may want to remove it from your link line. dumpRdt done physgi03f 184% dumpRdt -n2 -iEvent.rdt -L Dumping 2events Opening file Event.rdt for input Warning in <TClass::TClass>: no dictionary for class TMCFastHepParticle is availbble Warning in <TClass::TClass>: no dictionary for class TMCFastHepEvt is availbble Warning in <TClass::TClass>: no dictionary for class TMCFastTOF is availbble Warning in <TClass::TClass>: no dictionary for class TMCFastOfflineTrack is availbble List the Branches in the Tree hepevt trace offtrk -- Paul M. Eugenio Dept. of Physics Carnegie Mellon University (412) 268 6949 eugenio@ernest.phys.cmu.edu _____________________________________________________ / The scholar should know; one builds science with \ o O 0 / the facts just like a house can be built of stones; \ o | but an accumulation of facts is not a science just like | `\|||/ \ that a pile of stones is not a house. / (o o) \_____________________________________________________/ ooO_(_)_Ooo___________________________________________Henri Poincare'_ _____|_____|_____|_____|_____|_____|_____|_____|_____|_____|_____|____ __|_____|_____|_____|_____|_____|_____|_____|_____|_____|_____|_____|_ _____|_____|_____|_____|_____|_____|_____|_____|_____|_____|_____|____
This archive was generated by hypermail 2b29 : Tue Jan 04 2000 - 00:34:40 MET