The diff utility on my Cygwin always returns exit code of 57, no matter if files match, missmatch or do not exist.
I have installed diffutils successfully:
$ cygcheck -c diffutils
Cygwin Package Information
Package Version Status
diffutils 3.2-1 OK
$ which diff
/usr/bin/diff
Something must be broken in your Cygwin installation, because the Cygwin version of
diffdoesn’t even have code in it to return exit code 57. It only uses 0, 1, and 2. That means some other piece of code is doing the exiting, which is highly suspicious.I would first try a forced reinstall of
diffutilsand its dependencies,libintl8andlibiconv2. You will find both libraries in the Libs category in Cygwin’ssetup.exe. Click the value in the third column on the “Select Packages” screen until it says “Reinstall”. (It should be “Keep” when you first enter this screen. If it’s something else, that might be a clue as to what went wrong.)If that doesn’t fix it, I would suspect BLODA.