Re: cint problems in SunOS

Jonathan Hays (Jonathan.Hays@cern.ch)
Fri, 15 Jan 1999 11:26:04 +0100 (MET)


Hi,

I notice in your CXXFLAGS you define __SunOS_5_6.

Whilst also trying to build the same version of ROOT under SunOS 5.6
I noticed that while CC does predefine __SunOS_5_6 GNU CC does not.

Does anyone know if this is a general thing with GNU CC or is it
just peculiar to certain installations?

Cheers,

Jon.

On Fri, 15 Jan 1999, Rene Brun wrote:

> 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
>

=====================================================
Jonathan Hays

Studio 103 CERN - HC/EP
36 Rue De L'Athenee E27900
1206 Geneve 1211 Geneve 23
Suisse Suisse
+41 22 7671546
=====================================================