This is the mail archive of the
cygwin@cygwin.com
mailing list for the Cygwin project.
Re: Bug somewhere between cygwin, gcc and cvs
- From: Randall R Schulz <rrschulz at cris dot com>
- To: cygwin at cygwin dot com
- Date: Wed, 25 Dec 2002 10:43:43 -0800
- Subject: Re: Bug somewhere between cygwin, gcc and cvs
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/