This is the mail archive of the cygwin@sourceware.cygnus.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Problem with diff3


   I have (successfully) build rcs-5.7 using gnuwin32 b18. 
   Configure failed due to a problem with diff3

   To reproduce the error

   echo 0 > conftest0
   echo 1 > conftest1
   diff3 -E -m -L 0 -L 1 -L 2 conftest0 conftest1 /dev/null

   On ultrix 4.3 and Irix 6.2 I get
   <<<<<<< 0
   0
   =======
   >>>>>>> 2

   With win95 and gnuwin32 b18 I get
   diff3: /dev/null: No such file or directory

The problem is that "diff3" attempts to perform a 'stat()' system call
on each of the file names and 'stat()' fails (returns ENOENT) for
"/dev/null".  You can fix this at least four different ways:

1) Change offending line to read (something like):
   cat /dev/null | diff3 -E -m -L 0 -L 1 -L 2 conftest0 conftest1 -

2) Change the offending line to read (something like):
   diff3 -E -m -L 0 -L 1 -L 2 conftest0 conftest1 NUL

3) Change "diff3" to compare the filename to be opened with
   "/dev/null" and not call 'stat()' if they are equal.  (It's a hack,
   but it solves the problem).

4) Change the implementation of 'stat()' in CYGWIN32.DLL to produce
   the correct (i.e. unix-like) result for files called "/dev/null".
   I believe that 'open()' already does this.

-- 
--patrick


-
For help on using this list (especially unsubscribing), send a message to
"gnu-win32-request@cygnus.com" with one line of text: "help".


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]