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