[ROOT] compilation problem & conflicting types

From: Tim Bregulla (tomtimtam@web.de)
Date: Thu Jul 26 2001 - 17:44:23 MEST


Hello

I'm a newby for ROOT and try to compile it under CygWin+MingGW. Anyone who is familar there, knows: it is the way to build native Windows apps without Visual C++ and without the cygwin.dll
My Cygwin environment is running, the -mno-cygwin compiler switch for gcc is running too (:-)) and ROOT is being compiled in the first files .. wow!

Now, I got some real problems. I show you what I do:
cd root
./configure win32
this means I have a handpatched Makefile.win32 like this (Why does configure not support Win32 with cygwin, will that help me?):
#---------------------------------------------------------------------------
# Makefile of ROOT for Windows with GCC compiler in Cygwin+MinGW environment

PLATFORM      = win32gcc

ifeq (debug,$(findstring debug,$(ROOTBUILD)))
OPT           = -g
NOOPT         =
else
OPT           = -O2
NOOPT         =
endif

# Compiler:
CXX           = gcc
CC            = gcc
CXXFLAGS      = -H -mno-cygwin -include /usr/include/mingw/ctype.h -idirafter /usr/include/w32api --pipe -fvtable-thunks $(EXTRA_CXXFLAGS)
CFLAGS        = -H -mno-cygwin -include /usr/include/mingw/ctype.h -idirafter /usr/include/w32api $(EXTRA_CFLAGS)
CINTCXXFLAGS  = -mno-cygwin -include /usr/include/mingw/ctype.h -idirafter /usr/include/w32api -DG__SHAREDLIB -DG__UNIX -DG__ROOT -DG__WIN32 $(EXTRA_CXXFLAGS)
CINTCFLAGS    = -mno-cygwin -include /usr/include/mingw/ctype.h -idirafter /usr/include/w32api -DG__SHAREDLIB -DG__UNIX -DG__ROOT -DG__WIN32 $(EXTRA_CXXFLAGS)

# Linker:
LD            = gcc -mno-cygwin
LDFLAGS       = $(OPT) $(EXTRA_LDFLAGS)
SOFLAGS       = -DLL
SOEXT         = dll
EXEEXT        = .exe

# System libraries:
SYSLIBS       = -lm
XLIBS         =
CILIBS        = -lm
CRYPTLIBS     =

# Fortran:
F77           = g77
F77FLAGS      = $(OPT)
F77LD         = $(F77)
F77LIBS       =

# Extras
EXPLICITLINK        = YES
HISTLIBDEP          = $(MATRIXLIB)
HISTLIBEXTRA        = lib/libMatrix.a
GRAFLIBDEP          = $(HISTLIB)
GRAFLIBEXTRA        = lib/libHist.a
GPADLIBDEP          = $(GRAFLIB) $(HISTLIB)
GPADLIBEXTRA        = lib/libGraf.a lib/libHist.a
G3DLIBDEP           = $(GRAFLIB) $(HISTLIB)
G3DLIBEXTRA         = lib/libGraf.a lib/libHist.a
WIN32LIBDEP         = $(GPADLIB) $(GRAFLIB)
WIN32LIBEXTRA       = lib/libGpad.a lib/libGraf.a
GUILIBDEP           = $(GPADLIB) $(GRAFLIB)
GUILIBEXTRA         = lib/libGpad.a lib/libGraf.a
HISTPAINTERLIBDEP   = $(GRAFLIB) $(HISTLIB)
HISTPAINTERLIBEXTRA = lib/libGraf.a lib/libHist.a
PROOFLIBDEP         = $(TREELIB) $(HISTLIB)
PROOFLIBEXTRA       = lib/libTree.a lib/libHist.a
TREEPLAYERLIBDEP    = $(TREELIB) $(PROOFLIB) $(G3DLIB) $(GRAFLIB) $(HISTLIB)
TREEPLAYERLIBEXTRA  = lib/libTree.a lib/libProof.a lib/libGraf3d.a \
                      lib/libGraf.a lib/libHist.a
TREEVIEWERLIBDEP    = $(TREELIB) $(GPADLIB) $(GRAFLIB) $(HISTLIB)
TREEVIEWERLIBEXTRA  = lib/libTree.a lib/libGpad.a lib/libGraf.a \
                      lib/libHist.a
EGLIBDEP            = $(G3DLIB) $(GRAFLIB)
EGLIBEXTRA          = lib/libGraf3d.a lib/libGraf.a
PYTHIALIBDEP        = $(EGLIB) $(GRAFLIB)
PYTHIALIBEXTRA      = lib/libEG.a lib/libGraf.a \
                      $(FPYTHIALIBDIR) $(FPYTHIALIB)
PYTHIA6LIBDEP       = $(EGLIB) $(GRAFLIB)
PYTHIA6LIBEXTRA     = lib/libEG.a lib/libGraf.a \
                      $(FPYTHIA6LIBDIR) $(FPYTHIA6LIB)
VENUSLIBDEP         = $(EGLIB)
VENUSLIBEXTRA       = lib/libEG.a $(FVENUSLIBDIR) $(FVENUSLIB)
STARLIBDEP          = $(TREELIB) $(PROOFLIB) $(GPADLIB) $(G3DLIB) $(GRAFLIB) \
                      $(HISTLIB)
STARLIBEXTRA        = lib/libTree.a lib/libProof.a lib/libGpad.a \
                      lib/libGraf3d.a lib/libGraf.a lib/libHist.a
GLLIBDEP            = $(G3DLIB) $(WIN32LIB)
GLLIBEXTRA          = lib/libGraf3d.a lib/libWin32.a Glu32.a Opengl32.a

#---------------------------------------------------------------------------

Does someone has a better Makefile??

The next things happen:
make
... some stuff going, thanks to including ctype.h by compileroption ...
... coming here:
gcc -O2 -mno-cygwin -include /usr/include/mingw/ctype.h -idirafter /usr/include/w32api -DG__SHAREDLIB -DG__UNIX -DG__ROOT -DG__WIN32 -Iinclude  -o cint/src/decl.o -c cint/src/decl.c
gcc -O2 -mno-cygwin -include /usr/include/mingw/ctype.h -idirafter /usr/include/w32api -DG__SHAREDLIB -DG__UNIX -DG__ROOT -DG__WIN32 -Iinclude  -o cint/src/disp.o -c cint/src/disp.c
cint/src/disp.c:2002: conflicting types for `G__fprinterr'
cint/src/disp.c:2002: A parameter list with an ellipsis can't match an empty parameter name list
 declaration.
include/fproto.h:759: previous declaration of `G__fprinterr'
cint/src/disp.c:2167: conflicting types for `G__printf'
cint/src/disp.c:2167: A parameter list with an ellipsis can't match an empty parameter name list
 declaration.
include/G__ci.h:2289: previous declaration of `G__printf'
cint/src/disp.c:2184: conflicting types for `G__fprintf'
cint/src/disp.c:2184: A parameter list with an ellipsis can't match an empty parameter name list
 declaration.
include/G__ci.h:1668: previous declaration of `G__fprintf'


This is supposedly a missing compiler option. Please help me and explain me what is going on.

Regards
Tom Berg
______________________________________________________________________________
Jetzt und nur hier Ihr Original PREMIERE WORLD SportPaket 
Plus 100 Euro ExtraPrämie: http://premiere.web.de



This archive was generated by hypermail 2b29 : Tue Jan 01 2002 - 17:50:53 MET