missing dictionaries

From: Paul M. Eugenio (eugenio@ernest.phys.cmu.edu)
Date: Thu Dec 10 1998 - 21:31:43 MET


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