Re: making myroot

From: Rene Brun (Rene.Brun@cern.ch)
Date: Thu Feb 04 1999 - 15:32:42 MET


Hi Paul,
Quite simple. You forgot the library libRint.so in your list of
libraries.
Add -lRint in your list of libs.

Rene Brun


Paul M. Eugenio wrote:
> 
> Dear Rooter's
> 
> I'm trying to follow Dictionary Generation for Interactive Access Without I/O an
> d RTTI example. But I'm having trouble making "myroot". I using egcs Linux ROOT
> Version   2.20/06 and the makefile from $ROOTSYS/test/Makefile.
> 
> Right now I'm not attempting to link to  myclasses and I still cannot figure thi
> s out.
> 
> Anyone have an idea of what I'm doing wrong?  MMany Thanks..
> 
> megux3 210% make
> g++ -O -Wall -fno-rtti -fno-exceptions -fPIC -I/usr/local/root/include   -c main
> .C -o main.o
> Linking myroot ...
> main.o: In function `main':
> main.o(.text+0x2f): undefined reference to `TRint::TRint(char *, int *, char **,
>  void *, int)'
> 
> ollect2: ld returned 1 exit status
> make: *** [myroot] Error 1
> 
> ----------------------
> Here is main.C
> -------------------
> //--------------------------------------------------
> #include "TROOT.h"
> #include "TRint.h"
> 
> extern void  InitGui();  // initializer for GUI needed for interactive interface
> 
> int Error;
> 
> VoidFuncPtr_t initfuncs[] = { InitGui, 0 };
> 
> // Initialize the ROOT system
> TROOT root("Rint","The ROOT Interactive Interface", initfuncs);
> 
> int main(int argc, char **argv)
> {
>     // Create interactive interface
>     TRint *theApp = new TRint("Rint", &argc, argv,0,0);
> 
>     // Run interactive interface
>     theApp->Run();
> delete theApp;
>     return 0;
> }
> //-------------
> 
> --------------------
> Also the Makefile
> ___________________
> 
> ObjSuf        = o
> SrcSuf        = cxx
> ExeSuf        =
> DllSuf        = so
> EVENTLIB      = $(EVENTO)
> 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
> 
> # Linux with egcs
> CXX           = g++
> CXXFLAGS      = -O -Wall -fno-rtti -fno-exceptions -fPIC -I$(ROOTSYS)/include
> LD            = g++
> LDFLAGS       = -g
> SOFLAGS       = -shared
> LIBS          = $(ROOTLIBS) -lm -ldl -rdynamic
> GLIBS         = $(ROOTLIBS) $(ROOTGLIBS) -L/usr/X11R6/lib \
>                 -lXpm -lX11 -lm -ldl -rdynamic
> 
> #------------------------------------------------------------------------------
> 
> HDRS          =  ppUtil.h ppVec.h
> 
> SRCS          = main.cxx
> # ppUtil.cc ppVec.cc
> 
> OBJS          = main.o
> #ppUtil.o ppVec.o ppUtilDict.o ppVecDict.o
> 
> PROGRAM       = myroot
> 
> all:            $(PROGRAM)
> 
> $(PROGRAM):     $(OBJS)
>                 @echo "Linking $(PROGRAM) ..."
>                 @$(LD) $(LDFLAGS) $(OBJS) $(GLIBS) -o $(PROGRAM)
>                 @echo "done"
> 
> clean:;         @rm -f $(OBJS) core
> 
> ###
> 
> ppUtil.o:ppUtil.h
> ppVec.o:ppVec.h
> 
> ppVecDict.cxx:ppVec.h
>         @echo "Generating dictionary ..."
>         @rootcint ppVecDict.cxx -c ppVec.h
> 
> ppUtilDict.cxx:ppUtil.h
>         @echo "Generating dictionary ..."
>         @rootcint ppUtilDict.cxx -c ppUtil.h
> 
> .$(SrcSuf).$(ObjSuf):
>         $(CXX) $(CXXFLAGS) -c $<



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