Hi. I have a set of classes which used to compile and work fine under ROOT 2.22/06. With ROOT 2.23/11 they compile fine but do not seem to work at all. I am using Linux with the KAI KCC 3.3e compiler. I have simplified the failure down to the following very simple class: // Frank.hh: #include <iostream.h> class Frank { public: void Print(void); }; // Frank.cc: #include "Frank.hh" void Frank::Print(void) { cout << "Welcome to Frank." << endl; } With ROOT 2.22/06 it works: root [0] .L Frank.so root [1] Frank f; root [2] f.Print(); Welcome to Frank. With ROOT 2.23/11 it compiles, but when I run it I get: root [0] .L Frank.so root [1] Frank f; Error: class,struct,union or type TProofServ not defined FILE:/tmp/filelFpgAX_cint LINE:1 Error: No symbol TProofServ::IsActive() in current scope FILE:/tmp/filelFpgAX_cint LINE:1 *** Interpreter error recovered *** Error: No symbol Frankf in current scope FILE:/tmp/filelFpgAX_cint LINE:1 *** Interpreter error recovered *** My Makefile is appended below. Any help would be appreciated. Thanks. Stephen # Makefile for Frank ROOTLIBS = -L$(ROOTSYS)/lib -lNew -lCint \ -lGraf -lGraf3d -lHist -lHtml -lMatrix -lMinuit \ -lPostscript -lProof -lRint -lTree ROOTGLIBS = -lGpad -lGui -lGX11 -lX3d # Linux - KCC CXX = KCC CXXFLAGS = -g +K0 -O0 --no_exceptions -fPIC -I$(ROOTSYS)/include LD = KCC LDFLAGS = -g --no_exceptions SOFLAGS = --backend -shared LIBS = $(ROOTLIBS) -lm -ldl GLIBS = $(ROOTLIBS) $(ROOTGLIBS) -L/usr/X11R6/lib \ -lXpm -lX11 -lm -ldl HDRS = Frank.hh SRCS = Frank.cc FrankDict.cc OBJS = Frank.o FrankDict.o PROGRAM = Frank.so all: $(PROGRAM) $(PROGRAM): $(OBJS) @echo "Linking $(PROGRAM) ..." @/bin/rm -f $(PROGRAM) @$(LD) $(LDFLAGS) $(OBJS) $(GLIBS) -o $(PROGRAM) @chmod 555 $(PROGRAM) @echo "done" clean:; @/bin/rm -f $(OBJS) core ### Frank.o: Frank.cc FrankDict.o: FrankDict.cc FrankDict.cc: $(HDRS) @echo "Generating Dictionary ..." @rootcint -f FrankDict.cc -c $(HDRS)
This archive was generated by hypermail 2b29 : Tue Jan 02 2001 - 11:50:22 MET