Future setup regression caused by 'mkdir: always check-for-existence' commit

Stephen Provine via cygwin cygwin@cygwin.com
Mon Aug 26 18:24:00 GMT 2019

It's possible that this issue contributes to the problem, but the fact that you can manually create the "dev" directory outside of Cygwin (just mkdir from Windows command prompt) to fix the problem tells me otherwise. If I understand the logic change in commit b0c033bf3fae810b9e5a5c69f17bd4de63725691, it would indicate to me that "mkdir 0755 /dev" in a post-install bash script (regardless of which one) would no longer work when it previously worked. This ultimately means that the /dev/fd directory does not exist and that files like /dev/fd/63 cannot be created (the underlying error is "Filesystem is read-only", because the "dev" directory doesn't actually exist except in Cygwin). It's quite possible that if /dev/fd/63 can be created that there are some subsequent FIFO issues, but in this case the file can't even be created in the first place.

I'd be happy to try the test release for cygwin-3.1.0, but I don't know how to find it. Can you provide a link?


-----Original Message-----
From: Ken Brown <kbrown@cornell.edu> 
Sent: Monday, August 26, 2019 10:04 AM
To: cygwin@cygwin.com
Cc: Stephen Provine <stephpr@microsoft.com>
Subject: Re: Future setup regression caused by 'mkdir: always check-for-existence' commit

On 8/26/2019 11:25 AM, Stephen Provine via cygwin wrote:
> After this change (commit b0c033bf3fae810b9e5a5c69f17bd4de63725691), the Git for Windows setup (and future Cygwin setups) do not correctly configure bash features because the post-install step for configuring the /dev directory does not work any more. It used to be that "mkdir -m 755 /dev" would succeed, but now it returns a "File exists" error, after which attempts to create the 'shm' and 'mqueue' directories fail and the /dev/fd, /dev/std{in,out,err} links are not created. This causes some bash features to not work. The fix (validated on Git for Windows) would be for setups to pre-create this directory outside of the Cygwin environment before running the post-install steps.
> See https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fgit-for-windows%2Fgit%2Fissues%2F2291%23issuecomment-524433693&data=02%7C01%7Cstephpr%40microsoft.com%7C227fabc69f4e434ae12a08d72a4763d2%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637024358495313120&sdata=16rboEMc6kGEAzIWDGTjjg%2FVLeuguIbBh%2F9cJMl0oZI%3D&reserved=0 for the in-depth analysis. Note, this is not a current issue in Cygwin, but is believed to become a FUTURE issue with the next release.

It looks like you've bumped into the bug reported here:


This was a bug in a development snapshot, and it has already been fixed.  You should try the test release for cygwin-3.1.0 to confirm this.

I don't think this problem has anything to do with commit b0c033bf3fae810b9e5a5c69f17bd4de63725691.


Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple

More information about the Cygwin mailing list