Re: cint problems in SunOS

Rene Brun (Rene.Brun@cern.ch)
Fri, 15 Jan 1999 10:48:01 +0100


Walid Majid wrote:
>
> Dear Rooters,
>
> I am trying to build the latest production version of ROOT (2.20/06) for
> SunOS 5.6. So far I can build all the .so libraries as well as cint,
> root.exe and rootcint using the following Makfile sequence:
>
> //-> begin of makefile
>
> # Makefile of ROOT for SunOS 5.6 with egcs
>
> PLATFORM = sunos
>
> CXX = g++
> CC = gcc
> CXXFLAGS = -Wall -fPIC -D__SunOS_5_6 -fno-rtti -fno-exceptions \
> -I$(OPENGL)/include
> CFLAGS = -Wall -fPIC -D_POSIX_C_SOURCE
> CINTCXXFLAGS = -Wall -fPIC -fno-rtti -fno-exceptions -DG__REGEXP \
> -DG__UNIX -DG__SHAREDLIB -DG__OSFDLL -DG__ROOT
> -DG__REDIRECTIO
> CINTCFLAGS = -Wall -fPIC -DG__REGEXP -DG__UNIX -DG__SHAREDLIB \
> -DG__OSFDLL -DG__ROOT -DG__REDIRECTIO
> OPT = -g
> NOOPT =
> LD = gcc
> LDFLAGS = $(OPT)
> SOFLAGS = -shared -Wl,-soname,
> SOEXT = so
> SYSLIBS = -lm -ldl -lsocket -lgen
> SYSXLIBS = -L/usr/X11R6/lib -lX11 -lstdc++ -lm -ldl -lsocket -lgen
> XLIBS = $(ROOTSYS)/lib/libXpm.a -L/usr/X11R6/lib -lX11
> CILIBS = -lm -ltermcap -lgen -ldl -lstdc++
>
> //-> end of makefile
>
>
> While building root I get the following messages beginning with the first
> generation of the dictionaries:
>
> Generating dictionary BASE_G__Base1.cxx...
> Error: No symbol R__EXTERNInt_tgDebug in current scope FILE:Rtypes.h
> LINE:88
> Error: No symbol R__EXTERNTDirectory in current scope FILE:TDirectory.h
> LINE:107
> Error: No symbol gDirectory in current scope FILE:TDirectory.h LINE:107
> Error: No symbol R__EXTERNTROOT in current scope FILE:TROOT.h LINE:195
> Error: No symbol gROOT in current scope FILE:TROOT.h LINE:195
> Warning: File "TBuffer.h" already loaded
> .
> .
>

My guess is that you have some old *.h files in your directory.
The R__EXTERN macro is defined in DllImport.h itself included
in Rtypes.h.

Rene Brun

> Once make is finished I can launch root but running a demo gives me the
> following error message:
>
> root [0] .x demos.C
> Error: No symbol gROOT->Reset() in current scope
> FILE:/home/wmajid/newroot/root/tutorials/./demos.C LINE:7
> *** Interpreter error recovered ***
>
> However, it seems like the classes are availabe, since when I issue
> .class TROOT, I get the expected answer. Also, I can open a canvas
> (TCanvas) from here.
>
> It seems like the globals are the only items not instantiated to
> unrecognized by cint.
>
> By the way makefile generates the following command to build rootcint:
>
> gcc -g -o $ROOTSYS/bin/rootcint UTILS_rootcint.o \
> -L$ROOTSYS/lib -lCint -lm -ltermcap -lgen -ldl \
> -lstdc++
>
> Does anyone have any ideas or suggestions for me? Thanks.
>
> Regards,
>
> Walid