HP-UX 10.20 problems...

From: Radovan Chytracek (Radovan.Chytracek@cern.ch)
Date: Fri Mar 06 1998 - 23:24:40 MET


Hello Rooters,

         I tried to add a simple class to ROOT to make it
accessible from interactive interface.

System is HP-UX atlas09 B.10.20 A 9000/831
$ROOTSYS = /afs/cern.ch/na49/library/local/ROOT/hpux10/root

What I've got is:

Generating dictionary ...
Note: operator new() masked 1c
Note: operator delete() masked 1c
Class Bubu: Streamer() not declared
Class Bubu: ShowMembers() not declared
        CC -g -w -O +a1
        -I/afs/cern.ch/na49/library/local/ROOT/hpux10/root/include
        -c Bubudict.C
Linking buburoot ...
        CC -g -w -O +a1 -Wl,-E main.o Bubu.o Bubudict.o
-L/afs/cern.ch/na49/library/local/ROOT/hpux10/root/lib -lNew -lBase -lCint
-lClib -lCont -lFunc  -lGraf -lGraf3d -lHist -lHtml -lMatrix -lMeta
-lMinuit -lNet  -lPostscript -lProof -lTree -lUnix -lZip  -lGpad -lGX11
-lMotif -lWidgets -lX3d  -L/usr/lib/Motif1.1  -lXm -lXt -lX11 -lm -lPW
-ldld -o buburoot
/usr/ccs/bin/ld: Unsatisfied symbols:
   Virtual table for class 'TRint': first non-inline virtual function in
'TRint' is not defined. (1930)
   Error (data)
   TRint::TRint(char*,int*,char**,void*,int) (code)
*** Error exit code 1

Any suggestions ?
May be I missed some inmportant point...

Class code and related file follow:

//////////////////////////////////////////////////////
Bubu.h:

#ifndef _Bubu_
#define _Bubu_

#include "Rtypes.h"

class Bubu {

public:
        Bubu(Int_t id = 0);
        void Id( Int_t id );
        void Show();

private:
        Int_t   fBubuID;

};

#endif  // _Bubu_

////////////////////////////////////////////

Bubu.C:

#include "Bubu.h"

#include <iostream.h>

Bubu::Bubu(Int_t id)
{
fBubuID = id;
}

void Bubu::Id( Int_t id)
{
fBubuID = id;
}

void Bubu::Show()
{
cout << "Hello World from Bubu " << fBubuID << endl;
}

////////////////////////////////////////////

LinkDef.h:

#ifdef __CINT__

#pragma link off all globals;
#pragma link off all classes;
#pragma link off all functions;

#pragma link C++ class Bubu;

#endif

////////////////////////////////////////////
main.C:

#include "TROOT.h"
#include "TRint.h"

extern void InitGui();
VoidFuncPtr_t initfuncs[] = { InitGui, 0 };

TROOT root("Rint","The ROOT Interactive Interface", initfuncs);

//___________________________________________________________________
int main(int argc, char **argv)
{
TRint *theApp = new TRint("Rint", &argc, argv, 0, 0);

// Init Intrinsics, build all windows, and enter event loop
theApp->Run();

delete theApp;

return(0);
}

////////////////////////////////////////////
makefile:

CXXFLAGS      = -g -w -O +a1 -I$(ROOTSYS)/include
LDFLAGS       = -g -w -O +a1 -Wl,-E
LD            = $(CXX)
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 -lGX11 -lMotif -lWidgets -lX3d

LIBS          = $(ROOTLIBS) \
                $(ROOTGLIBS) \
                -L/usr/lib/Motif1.1 \
                -lXm -lXt -lX11 -lm -lPW -ldld

HDRS          = Bubu.h

SRCS          = main.C Bubu.C Bubudict.C

OBJS          = main.o Bubu.o Bubudict.o

PROGRAM       = buburoot

all:            $(PROGRAM)

$(PROGRAM):     $(OBJS)
                @echo "Linking $(PROGRAM) ..."
                $(LD) $(LDFLAGS) $(OBJS) $(LIBS) -o $(PROGRAM)
                @echo "done"

clean:
                @rm -f $(OBJS) core *.bak buburoot Bubudict.*

###
Bubu.o: Bubu.h

Bubudict.C: Bubu.h
                @echo "Generating dictionary ..."
                @rootcint -f Bubudict.C -c Bubu.h LinkDef.h



This archive was generated by hypermail 2b29 : Tue Jan 04 2000 - 00:34:30 MET