Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Message-Id: <5.2.0.9.2.20021225103043.01edc340@pop3.cris.com> X-Sender: rrschulz AT pop3 DOT cris DOT com Date: Wed, 25 Dec 2002 10:43:43 -0800 To: cygwin AT cygwin DOT com From: Randall R Schulz Subject: Re: Bug somewhere between cygwin, gcc and cvs In-Reply-To: <3E09F759.5040508@snet.net> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; format=flowed Arkadiy, My information may be out-of-date, but I thought direct access to directories was not POSIX-compliant? Of course, if that's true, one would think CVS would long ago have adapted to that restriction. Anyway, trying to access a directory using any old naive program (i.e., one that doesn't detect and make a special accommodation for directories) such as "dd," "od," or "cat" gives "Is a directory" diagnostics every time. Are you sure your CVS build environment was properly configured? Is the main-line CVS source code featured for (ported to) Cygwin? You said you're trying to build the "latest stable CVS code" and that it's version 1.11.2. However, by my observation, the latest Cygwin CVS is 1.11.0. I'm guessing that the CVS source code you're using does not bear the requisite Cygwin-specific patches. Why don't you use the source code that's distributed with / by the Cygwin project? Of course, unless you're going to modify it, you'll just end up with the functional equivalent of the current Cygwin binary package for CVS. If there's a feature of CVS 1.11.2 that you need, you could probably get a considerable head start by taking the Cygwin patches from the Cygwin 1.11.0 source package and applying them (with any necessary changes, of course) to the 1.11.2 source code. I hope the Cygwin CVS package maintainer will definitively confirm, refute or refine the speculation I've indulged in here... Randall Schulz At 10:22 2002-12-25, Arkadiy Belousov wrote: >Hello all! > >I downloaded latest stable CVS code (1.11.2) and compiled it under cygwin. >"cvs co", "cvs login" and "cvs commit" worked, but not "cvs update". > >I traced the bug to call to > >open (".", O_RDONLY); > >at lib/savecwd.c:61 in CVS source. This call is made the same way during >commit and update, yet it fails during update only, with the error "file >already exist". > >When I tried to make similar call from other places in the code, I learned >that placing the call right before save_cwd is called from recurse.c makes >the entire thing work. > >The next thing I tried was optimization level in the compiler. When I >replaced -O2 with -O, the whole situation went away. > >I am running Windows ME. >GCC gives the following in response to -v : > >$ gcc -v >Reading specs from /usr/lib/gcc-lib/i686-pc-cygwin/3.2/specs >Configured with: /netrel/src/gcc-3.2-3/configure >--enable-languages=c,c++,f77,java --enable-libgcj --enable-threads=posix >--with-system-zlib --enable-nls --without-included-gettext >--enable-interpreter --disable-sjlj-exceptions >--disable-version-specific-runtime-libs --enable-shared >--build=i686-pc-linux --host=i686-pc-cygwin --target=i686-pc-cygwin >--enable-haifa --prefix=/usr --exec-prefix=/usr --sysconfdir=/etc >--libdir=/usr/lib --includedir=/nonexistent/include --libexecd >ir=/usr/sbin >Thread model: posix >gcc version 3.2 20020927 (prerelease) > >cygwin version is cygwin 1.3.17-1 , according to cygcheck -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Bug reporting: http://cygwin.com/bugs.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/