cygwin build problems on gcc-3_0-branch and main-trunk

Holejsovsky, Pavel pholejs@veridicom.cz
Tue Apr 17 01:26:00 GMT 2001


I believe that it is because of broken mmap() in cygwin1.dll (at least in
latest released version 1.1.8). I worked around this problem by removing
/usr/include/sys/mmap.h, thus pretending to GCC configure that cygwin does
not have mmap at all. After this, I was able to build working C and C++
compiler (in gcc-3.0-branch, haven't tried main-trunk).

The scenario how it breaks is:
	1) cpplib opens 1. include file by open() (returns fd value3),
successfully mmaps the file and then does correctly close(3), while keeping
the file mapped
	2) then it tried to do the same for another file; open() reuses
already freed fd 3, but when you try to mmap this, mmap returns contents of
previous file, not the newer one

regards
Pavel

> -----Original Message-----
> From: Mumit Khan [ mailto:khan@NanoTech.Wisc.EDU ]
> Sent: Friday, April 13, 2001 10:38 PM
> To: Immanuel, Gidado-Yisa
> Cc: java@gcc.gnu.org; gcc@gcc.gnu.org
> Subject: Re: cygwin build problems on gcc-3_0-branch and main-trunk
> 
> 
> On Fri, 13 Apr 2001, Immanuel, Gidado-Yisa wrote:
> 
> > I want to investigate the problem, but I need a little assistance
> > at this point.  I've tried both the main-trunk, and the
> > gcc-3.0-branch. I've also tried configuring for just 'c++' as well
> > as 'c++,java' (hence my posting to gcc@gcc.gnu.org; I'm not on
> > gcc@gcc, so please reply to me directly).
> > 
> > In all 4 cases I get a similar variation on the errors posted
> > below during 'make bootstrap'.
> >  
> > PLATFORM: Windows2000, cygwin: 1.1.8-2, 933Mhz
> > 
> > GCC:  Reading specs from 
> /usr/lib/gcc-lib/i686-pc-cygwin/2.95.3-2/specs
> >       gcc version 2.95.3-2 (cygwin special)
> > 
> > CONFIGURATION: gcc-3_0-branch (same thing happens for 'c++,java')
> >   ../gcc/configure 
> --with-gcc-version-trigger=/d/dev/gnu2/gcc/gcc/version.c
> >   --host=i686-pc-cygwin --enable-threads=posix --prefix=/d/dev/gcc
> >   --enable-shared --enable-languages=c++ --disable-win32-registry
> >   --norecursion
> 
> Do not use --enable-threads with Cygwin 1.1.8. It should in 
> theory work
> with Cygwin snapshots newer than 2001-04-10.
> 
> > RESULTS OF 'make bootstrap':
> > [...]
> > /usr/include/sys/reent.h:13:19: #include nested too deeply
> > /usr/include/sys/reent.h:14:18: #include nested too deeply
> > In file included from /usr/include/stdio.h:48,
> >                  from ../../gcc/gcc/tsystem.h:63,
> >                  from ../../gcc/gcc/config/i386/cygwin.h:37,
> >   -->            from tm.h:7,
> >   | repeated     from ../../gcc/gcc/config/i386/xm-i386.h:39,
> >   | 47 times     from tconfig.h:6,
> >   -->            from ../../gcc/gcc/config/i386/cygwin.h:36,
> >                  from tm.h:7,
> >                  from ../../gcc/gcc/config/i386/xm-i386.h:39,
> >                  from tconfig.h:6,
> >                  from ../../gcc/gcc/libgcc2.c:36:
> > /usr/include/sys/reent.h:28: parse error before "__ULong"
> > /usr/include/sys/reent.h:42: parse error before "__ULong"
> > /usr/include/sys/reent.h:183: field `_localtime_buf' has 
> incomplete type
> > /usr/include/sys/reent.h:211: confused by earlier errors, 
> bailing out
> > make[3]: *** [libgcc/./_muldi3.o] Error 1
> > make[3]: Leaving directory `/d/dev/gnu2/objdir/gcc'
> > make[2]: *** [libgcc.a] Error 2
> > make[2]: Leaving directory `/d/dev/gnu2/objdir/gcc'
> > make[1]: *** [stage1_build] Error 2
> > make[1]: Leaving directory `/d/dev/gnu2/objdir/gcc'
> > make: *** [bootstrap] Error 2
> 
> 
> It's a bug somewhere deep inside of Cygwin runtime that I 
> haven't been 
> able to find. The good news is that any recent Cygwin snapshot should
> work just fine. 
> 
> Regards,
> Mumit
> 
> 
> 



More information about the Java mailing list