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