Skip to content


Cygwin vs. Windows 7

I use cygwin at work. There are two problems with this:

First, every new version of cygwin breaks something important, and somebody at WRI has to waste an hour or a day working around it.

Second, the newer build machines are running Windows 7. Cygwin doesn’t play nicely with Windows 7.

There are two versions of Cygwin: 1.5, known as the ‘legacy version’ (which is a code phrase for ‘we will be even less courteous & helpful to users with questions’); and 1.7, the ‘major update’ (which is a code phrase for ‘we broke even more stuff than usual’).

Both will install on Windows 7. Cygwin 1.5 doesn’t work at all. Cygwin 1.7 works, but it mounts the C:\ drive in binary mode, which causes big problems.

I wasted a good chunk of yesterday trying to persuade the cygwin mount command to mount C:\ in text mode; it refused. (Even worse, it lied: it said C:\ was text mode, but files generated on it remained stubbornly unix-ized.)

Today I had the notion to install 1.5 (which handles text mode correctly), then upgrade it to 1.7. The idea was that maybe 1.7 would inherit the text-mode setting from the 1.5 install.

And it did. I now have Cygwin 1.7 on Windows 7, with C:\ mounted in text mode. Yay.

(I loathe Cygwin. I’d drop it in a minute, if I could.)

Posted in General.


5 Responses

Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.

  1. Andy says

    Cygwin 1.7 reads its mount points from /etc/fstab instead of storing them in the registry, which is what the mount command did in 1.5. This is of course documented in the User’s Guide. Heck, it’s even mentioned at the top of http://cygwin.com. But yeah, moaning is much more fun than reading documentation.

  2. Pat says

    You must be one of the cygwin developers – I can tell from a) your snide attitude and b) your delusion that all problems are due to idiot users who haven’t read the documentation.

    http://cygwin.com/ml/cygwin/ is full of examples of both, going back ten years or more.

    Maybe I tried editing /etc/fstab, and it didn’t fix the problem. But I don’t suppose you’re all that interested in hearing what I’ve tried, and whether it worked. Blaming the users is more fun than helping them.

  3. Andy says

    a) Yep, the Cygwin developers’ motto is “We’re Just Mean”. You’re doing a pretty good job living up to your billing too though.

    b) What do you want? Cygwin to stick with bad design decisions like the registry mount points into all eternity? The new /etc/fstab approach is pretty much what you get on Linux, so it’s not like it’s completely outlandish. And you’ve said yourself that the automatic mount point conversion from 1.5 to 1.7 worked fine. Beyond that, yes, command line interfaces are intrinsically unintuitive, so reading documentation is necessary and expected. Both setup.exe and the website make a special point of that regarding the change to 1.7.

    Bug reports against the software and the documentation are of course always welcome, but I’m afraid so far there’s nothing actionable here.

  4. Pat says

    I don’t care whether cygwin stores its mount points in the registry or in /etc/fstab, I care whether C:/ is mounted in text mode. If it isn’t, cvs checkout gives me files with unix eol, and the build process that relies on cygwin stops working.

    The 1.5 installer asked whether I wanted dos mode or unix mode. The current 1.7 installer does not, instead forcing unix mode.

    It may be that my changes to /etc/fstab were incorrect. But they were based on the documentation you keep saying I haven’t read. It may also be that I didn’t wait for all cygwin processes to finish before doing a cvs checkout. But I’m not running any cygwin servers / daemons / etc. All my cygwin usage is command-line. So I’m pretty confident there were no lingering cygwin processes to keep the /etc/fstab changes from taking effect.

    Perhaps I should have kept detailed notes on my efforts to fix this latest cygwin breakage. But my searches through the cygwin mailing list persuaded me that bug reports & support questions would not be well-received by the cygwin developers.

  5. Andy says

    Thanks for writing a more detailed account, and apologies for drawing wrong conclusions from your original moan. I guess all I can recommend at this point is to look at what the automatic conversion has written to /etc/fstab, for future reference. And I’ll take away the point that there’s lack of usability here somewhere.

    It’s unfortunate it’s caused you nothing but bother, but the reasons for changing to the /etc/fstab approach are to allow multiple parallel Cygwin installs as well as portable installs, and to make things easier for Unix exiles.

    Textmode is being discouraged by removing it from the installer because the concept is essentially broken. Unix programs don’t usually indicate whether they want a file to be treated as text or binary, because on actual Unix it makes no difference. Hence in textmode everything is treated as a text file, yet of course adding carriage returns doesn’t do binary data any good.

    Textmode is fine though if you know that everything stored in a directory is text (or at least it isn’t used to exchange binary data between Cygwin and non-Cygwin programs), which is why textmode on specific mount points continues to be supported. Shame cvs doesn’t have a line ending option.

    The Cygwin mailing list may be short on formalities and patience with people who don’t do their homework (not that you seem the type to be bothered by that), but it sure is responsive to bug reports and questions.