Re: [ROOT] compilation problem & conflicting types

From: Fons Rademakers (Fons.Rademakers@cern.ch)
Date: Thu Jul 26 2001 - 17:55:34 MEST


Hi Tim,

   try adding -DG__ANSI to CINTCFLAGS.

You are the first trying to use mingw on windows so you might hit some more
problems. Once you get everything working I'll be happy to include your patches.

Cheers, Fons.



Tim Bregulla wrote:
> 
> 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

-- 
Org:    CERN, European Laboratory for Particle Physics.
Mail:   1211 Geneve 23, Switzerland
E-Mail: Fons.Rademakers@cern.ch              Phone: +41 22 7679248
WWW:    http://root.cern.ch/~rdm/            Fax:   +41 22 7677910



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