diff --git a/winsup/doc/ChangeLog b/winsup/doc/ChangeLog index b6b33687d..78a0aa3bd 100644 --- a/winsup/doc/ChangeLog +++ b/winsup/doc/ChangeLog @@ -1,3 +1,8 @@ +2009-02-12 Corinna Vinschen + + * faq-setup.xml: Revamp for Cygwin 1.7. + * faq-using.xml: Ditto. + 2009-02-11 Corinna Vinschen * faq-programming.xml: Revamp (mostely) for Cygwin 1.7. diff --git a/winsup/doc/faq-setup.xml b/winsup/doc/faq-setup.xml index 55c291672..6e6f0fa55 100644 --- a/winsup/doc/faq-setup.xml +++ b/winsup/doc/faq-setup.xml @@ -238,7 +238,7 @@ ought to check whether you really want to install everythin That depends, obviously, on what you've chosen to download and -install. A full installation today is probably larger than 800MB +install. A full installation today is probably larger than 1 GB installed, not including the package archives themselves nor the source code. @@ -413,9 +413,8 @@ installed are sshd, cron, Stop the X11 server if it is running, and terminate any Cygwin programs -that might be running in the background. Remove all mount information by typing -umount -A and then exit the command prompt and ensure that no Cygwin -processes remain. Note: If you want to save your mount points for a later +that might be running in the background. Exit the command prompt and ensure +that no Cygwin processes remain. Note: If you want to save your mount points for a later reinstall, first save the output of mount -m as described at . @@ -453,10 +452,10 @@ remove it. Finally, if you want to be thorough you can delete the registry tree -Software\Cygnus Solutions under HKEY_LOCAL_MACHINE and/or +Software\Cygwin under HKEY_LOCAL_MACHINE and/or HKEY_CURRENT_USER. However, if you followed the directions above you -will have already removed all the mount information which is typically the only -thing stored in the registry. +will have already removed everything important. Typically only the installation +directory has been stored in the registry at all. @@ -540,10 +539,13 @@ the Cygwin Setup homepage at While some users have successfully done this, for example Indiana University's XLiveCD http://xlivecd.indiana.edu/, there is no -easy way to do it. Full instructions for constructing a porttable Cygwin +easy way to do it. Full instructions for constructing a portable Cygwin on CD by hand can be found on the mailing list at -http://www.cygwin.com/ml/cygwin/2003-07/msg01117.html. (Thanks -to fergus at bonhard dot uklinux dot net for these instructions.) +http://www.cygwin.com/ml/cygwin/2003-07/msg01117.html +(Thanks to fergus at bonhard dot uklinux dot net for these instructions.) +Please note that these instructions are rather old and are referring to the +somewhat different setup of a Cygwin 1.5.x release. As soon as somebody set +this up for Cygwin 1.7, we might add this information here. @@ -551,15 +553,8 @@ to fergus at bonhard dot uklinux dot net for these instructions.) How do I save, restore, delete, or modify the Cygwin information stored in the registry? -Currently Cygwin stores its mount table information in the registry. It -is recommended that you use the mount and umount commands -to manipulate the mount information instead of directly modifying the -registry. - -To save the mount information to a file for later restoration, use -mount -m > mounts.bat To remove all mount information use -umount -A. To reincorporate saved mount information just run the -batch file. For more information on using mount, see -http://cygwin.com/cygwin-ug-net/using-utils.html#mount. +Since Cygwin 1.7, there's nothing important in the registry anymore, +except for the installation directory information stored there for the sake +of setup.exe. There's nothing left to manipulate anymore. diff --git a/winsup/doc/faq-using.xml b/winsup/doc/faq-using.xml index 1e5516c72..8a49b1423 100644 --- a/winsup/doc/faq-using.xml +++ b/winsup/doc/faq-using.xml @@ -1,29 +1,23 @@ -Why can't my application locate cygncurses5.dll? or cygintl.dll? or cygreadline5.dll? or ...? +Why can't my application locate cygncurses-8.dll? or cygintl-3.dll? or cygreadline6.dll? or ...? -If you upgraded recently, and suddenly vim (or some other Cygwin -application) cannot find cygncurses5.dll, it probably means that you did -not follow these instructions properly: -http://cygwin.com/ml/cygwin-announce/2001/msg00124.html. To -repair the damage, you must run Cygwin Setup again, and re-install the -libncurses5 package. +Well, something has gone wrong somehow... -Note that Cygwin Setup won't show this option by default. In the +To repair the damage, you must run Cygwin Setup again, and re-install the +package which provides the missing DLL package. + +If you already installed the package at one point, Cygwin Setup won't +show the option to install the package by default. In the ``Select packages to install'' dialog, click on the Full/Part button. This lists all packages, even those that are already -installed. Scroll down to locate the libncurses5 package. -Click on the ``cycle'' glyph until it says ``Reinstall''. Continue -with the installation. - -Similarly, if something cannot find cygintl.dll, then run -Cygwin Setup and re-install the libintl and libintl1 -packages. +installed. Scroll down to locate the missing package, for instance +libncurses8. Click on the ``cycle'' glyph until it says +``Reinstall''. Continue with the installation. For a detailed explanation of the general problem, and how to extend -it to other missing DLLs (like cygreadline5.dll) and identify their -containing packages, see +it to other missing DLLs and identify their containing packages, see http://cygwin.com/ml/cygwin/2002-01/msg01619.html. @@ -32,46 +26,33 @@ containing packages, see Why is Cygwin suddenly so slow? -If you recently upgraded and suddenly every command takes a +If suddenly every command takes a very long time, then something is probably attempting to access a network share. You may have the obsolete //c -notation in your PATH or startup files. This now means the -network share c, which will slow things down -tremendously if it does not exist. +notation in your PATH or startup files. Using //c means +to contact the network server c, which +will slow things down tremendously if it does not exist. -Using //c (for C:) doesn't work anymore. (Similarly for any drive -letter, e.g. //z for Z:) This ``feature'' has long been -deprecated, and no longer works at all in the latest release. As of -release 1.3.3, //c now means the network share c. +Using //c (for C:) doesn't work. (Similarly for any drive +letter, e.g. //z for Z:) This +``feature'' has long been deprecated. For a detailed discussion of why this change was made, and how deal -with it now, refer to +with it, refer to http://sources.redhat.com/ml/cygwin/2001-09/msg00014.html. +Just note that, in contrast to what that posting claims, using +/ as the cygdrive prefix is not supported anymore for a +long time (though it still might work). - -Why don't my services work? - - -Most Windows services run as a special user called SYSTEM. If you -installed Cygwin for "Just Me", the SYSTEM user won't see your -Cygwin mount table. You need to re-mount all of your mounts as -"system" for services to work. You can re-run setup.exe and -select "Install for All Users", or this script will do the trick: - - -eval "`mount -m | sed -e 's/ -u / -s /g' -e 's/$/;/'`" - - - Why can't my services access network shares? -When a service switches to a certain user, it is running as -SYSTEM impersonating the user account. During -impersonation, the user's password is not available and so non-public -network shares are not available. For more information, see +If your service is one of those which switch the user context +(sshd, inetd, etc), then it depends on the method used to switch to +another user. This problem as well as its solution is described in +detail in the Cygwin User's Guide, see . Workarounds include using public network share that does not require @@ -103,10 +84,13 @@ follow this rule. You must have /usr/ the Windows system directories!) Otherwise you will likely encounter all sorts of problems running Cygwin applications. +If you're using another shell than bash (say, tcsh), the mechanism +is the same, just the names of the login scripts are different. + -Bash says "command not found", but it's right there! +Bash (or another shell) says "command not found", but it's right there! If you compile a program, you might find that you can't run it: @@ -117,7 +101,7 @@ all sorts of problems running Cygwin applications. bash: hello: command not found -Unlike Windows, bash does not look for programs in . (the current +Unlike the Windows default behaviour, Unix shells like bash do not look for programs in . (the current directory) by default. You can add . to your PATH (see above), but this is not recommended (at least on UNIX) for security reasons. Just tell bash where to find it, when you type it on the command line: @@ -156,8 +140,7 @@ as such. Your .bashrc is read from your home directory specified by the HOME environment variable. It uses /.bashrc if HOME is not set. So you need -to set HOME correctly, or move your .bashrc to the top of the drive -mounted as / in Cygwin. +to set HOME (and the home dir in your /etc/passwd entry) correctly. @@ -206,13 +189,13 @@ or Why can't I cd into a shortcut to a directory? -Cygwin versions < 1.3.0 do not follow MS Windows Explorer Shortcuts +Cygwin does not follow MS Windows Explorer Shortcuts (*.lnk files). It sees a shortcut as a regular file and this you cannot "cd" into it. -Since version 1.3.0, Cygwin uses shortcuts as symlinks by default. - -Cygwin shortcuts are different from shortcuts created by native Windows +Cygwin is also capable to create POSIX symlinks as Windows shortcuts +(see the CYGWIN environment variable option "winsymlinks"), but these +shortcuts are different from shortcuts created by native Windows applications. Windows applications can usually make use of Cygwin shortcuts but not vice versa. This is by choice. The reason is that Windows shortcuts may contain a bunch of extra information which would @@ -254,8 +237,9 @@ See the documentation for the option -noleaf in the man page. it has not been ported to Cygwin and has never worked. It is currently installed as part of the sh-utils, but again, it does not work. -You may be able to use login instead, but you should read -http://www.cygwin.com/ml/cygwin/2001-03/msg00337.html first. +You should rather install sshd and use +ssh username@localhost as a su +replacement. For some technical background into why su doesn't work, read http://www.cygwin.com/ml/cygwin/2003-06/msg00897.html and @@ -264,7 +248,7 @@ related messages. -Why doesn't man (or apropos) work? +Why doesn't man -k (or apropos) work? Before you can use man -k or apropos, you @@ -289,8 +273,10 @@ or mkgroup, you need to run one or both of those commands. If you're using FAT32 instead of NTFS, chmod -will fail since FAT32 does not provide any security. You might consider -converting the drive to NTFS with CONVERT.EXE. +will fail since FAT32 does not provide any permission information. +You should really consider converting the drive to NTFS with +CONVERT.EXE. FAT and FAT32 are barely good enough +for memory cards or USB sticks to exchange pictures... For other cases, understand that Cygwin attempts to show UNIX permissions based on the security features of Windows, so the Windows @@ -300,36 +286,25 @@ for more information on how Cygwin maps Windows permissions. - -Why doesn't mkdir -p work on a network share? - - -Starting with coreutils-5.3.0-6 and cygwin-1.5.17, you can -do something like this: - - -bash$ mkdir -p //MACHINE/Share/path/to/new/dir - - -However, coreutils expects Unix path names, so something like -mkdir -p \\\\machine\\share\\path will fail. - - - Why doesn't my shell script work? There are two basic problems you might run into. One is the fact that -/bin/sh is really bash (prior to -bash-3.0-6, /bin/sh was ash). and is -missing some features you might expect in /bin/sh, -particularly if you are used to /bin/sh actually being -zsh (MacOS X "Panther") or ksh (Tru64). +/bin/sh is really bash. +It could be missing some features you might expect in +/bin/sh, if you are used to /bin/sh +actually being zsh (MacOS X "Panther") or +ksh (Tru64). -Or, it could be a permission problem, and Cygwin doesn't understand that your script is executable. Because chmod may not work (see FAQ entry above), Cygwin must read the contents of files to determine if -they are executable. If your script does not start with +Or, it could be a permission problem, and Cygwin doesn't understand +that your script is executable. On NTFS or NFS just make the script +executable using chmod +x. However, +chmod may not work due to restrictions of the +filesystem (see FAQ entry above). In this case Cygwin must read the +contents of files to determine if they are executable. If your script +does not start with #! /bin/sh @@ -346,7 +321,8 @@ idiom also works. -Note that you can use mount -x to force Cygwin to treat all files +Note that you can use the filesystem flag cygexec in +/etc/fstab to force Cygwin to treat all files under the mount point as executable. This can be used for individual files as well as directories. Then Cygwin will not bother to read files to determine whether they are executable. @@ -365,8 +341,8 @@ PostScript files on non-PostScript Windows printers). Start at http://cygwin.com/ml/cygwin/2001-04/msg00657.html. Note that the file command is now available as part of Cygwin setup. -Alternatively, on NT, you can use the Windows print command. (It -does not seem to be available on Win9x.) Type +Alternatively, on NT, you can use the Windows print +command. (It does not seem to be available on Win9x.) Type bash$ print /\? @@ -391,10 +367,15 @@ formfeed character to your file. Internationalization is a complex issue. The short answer is that -Cygwin is not Unicode-aware, so things that might work in Linux will -not necessarily work on Cygwin. However, some things do work. To type -international characters (£äö) in bash, add the following -lines to your ~/.inputrc file and restart bash: +Cygwin relies on the setting of the CYGWIN environment variable as well +as on the setting of LANG environment variable. The underlying C library, +newlib, only supports a small subset of LANG settings. The default is "C". +To get UTF-8 support you must set LANG to "C-UTF-8" and CYGWIN so that +it contains "codepage:utf8". + +To type international characters (£äö) in +bash, add the following lines to your +~/.inputrc file and restart bash: set meta-flag on @@ -404,11 +385,12 @@ lines to your ~/.inputrc file and restart bash -These are options to the readline library, which you can read -about in the bash(1) and readline(3) man pages. Other -tools that do not use readline for display, such as less -and ls, require additional settings, which could be put in your -~/.bashrc: +These are options to the readline library, which +you can read about in the bash(1) and +readline(3) man pages. Other tools that do not use +readline for display, such as less +and ls, require additional settings, which could be put +in your ~/.bashrc: alias less='/bin/less -r' alias ls='/bin/ls -F --color=tty --show-control-chars' @@ -418,40 +400,6 @@ export OUTPUT_CHARSET="sjis" These examples use the Japanese Shift-JIS character set, obviously you will want to change them for your own locale. - - - - -Why don't cursor keys work under Win95/Win98? - - -(Please note: This section has not yet been updated for the latest net release.) - -Careful examination shows that they not just non-functional, but -rather behave strangely, for example, with NumLock off, keys on numeric -keyboard work, until you press usual cursor keys, when even numeric -stop working, but they start working again after hitting alphanumeric -key, etc. This reported to happen on localized versions of Win98 and -Win95, and not specific to Cygwin; there are known cases of Alt+Enter -(fullscreen/windowed toggle) not working and shifts sticking with -other programs. The cause of this problem is Microsoft keyboard -localizer which by default installed in 'autoexec.bat'. Corresponding -line looks like: - - -keyb ru,,C:\WINDOWS\COMMAND\keybrd3.sys - - -(That's for russian locale.) You should comment that line if you want -your keys working properly. Of course, this will deprive you of your -local alphabet keyboard support, so you should think about -another localizer. ex-USSR users are of course knowledgeable of Keyrus -localizer, and it might work for other locales too, since it has keyboard -layout editor. But it has russian messages and documentation ;-( -Reference URL is http://www.hnet.ru/software/contrib/Utils/KeyRus/ -(note the you may need to turn off Windows logo for Keyrus to operate -properly). - @@ -463,15 +411,16 @@ have multiple versions, they will conflict and cause problems. If you get the error "shared region is corrupted" or "shared region version mismatch" it means you have multiple versions of cygwin1.dll -running at the same time. This could happen, for example, if you update -cygwin1.dll without exiting all Cygwin apps (including inetd) -beforehand. +running at the same time which conflict with each other. This could happen, +for example, if you update cygwin1.dll without exiting +all Cygwin apps (including inetd) beforehand. The only DLL that is sanctioned by the Cygwin project is the one that -you get by running setup.exe, installed in the -directory controlled by this program. If you have other versions on -your system and desire help from the cygwin project, you should delete -or rename all DLLs that are not installed by setup.exe. +you get by running setup.exe, +installed in the directory controlled by this program. If you have other +versions on your system and desire help from the cygwin project, you should +delete or rename all DLLs that are not installed by +setup.exe. If you're trying to find multiple versions of the DLL that are causing this problem, reboot first, in case DLLs still loaded in memory are the @@ -512,17 +461,20 @@ GPL-compatible license, *or* purchase a cygwin license from Red Hat. So I can't install a private version of the Cygwin DLL without -conflictng with the system cygwin? +conflicting with the system cygwin? Actually, if you are very careful, you can have two different versions of the Cygwin DLL installed on your system at the same time but they -must be run serially. This means that you can't be running programs -using both versions of Cygwin at the same time. Please be aware that -currently both versions will use the same mount table entries although -this wil change in Cygwin version 1.7.x. - -This usage is not recommeded for novices. Only limited support will be +must be run serially. The only exception from this rule is, if one of +the DLLs is a pre-1.7 DLL and the other is a 1.7.0 or later DLL. These +DLLs can work concurrently without knowing about each other due to +massive changes using shared resources in Cygwin 1.7. However, +processes using different DLLs will not interact with each other +correctly, so keep them separate except you really really know what +you're doing. + +This usage is not recommeded for novices. Only limited support will be provided in the mailing lists if you run into problems. @@ -535,9 +487,10 @@ DLL on top of a newer DLL, my application will break? It depends on what you mean by "break". If the application installs a version of the Cygwin DLL in another location than Cygwin's /bin -directory then the rules in 9.3 apply. If the application installs an -older version of the DLL in /bin then you should complain loudly to the -application provider. +directory then the rules in + apply. +If the application installs an older version of the DLL in /bin then you +should complain loudly to the application provider. Remember that the Cygwin DLL strives to be backwards compatible so a newer version of the DLL should always work with older executables. So, @@ -581,7 +534,7 @@ mailing list pinging the maintainer is perfectly acceptable. There are no guarantees that the maintainer will have time to update the package or that you'll receive a response to your request, however. -Remeber that the operative term here is "volunteer". +Remember that the operative term here is "volunteer". @@ -630,24 +583,15 @@ get there. Then /cygdrive/c/Windows becomes /c/Windows which is a little less typing. -Note that you only need to mount drives once. The mapping is kept -in the registry so mounts stay valid pretty much indefinitely. -You can only get rid of them with umount, or the registry editor. +Note that you have to enter the mount point into the +/etc/fstab file to keep it indefinitely. +The mount command will only add the mount point for the lifetime +of your current Cygwin session. -The '-b' option to mount mounts the mountpoint in binary mode -("binmode") where text and binary files are treated equivalently. This -should only be necessary for badly ported Unix programs where binary -flags are missing from open calls. It is also the setting for /, -/usr/bin and /usr/lib in a default Cygwin installation. The default for -new mounts is text mode ("textmode"), which is also the mode for all -"cygdrive" mounts. - -You can change the default cygdrive prefix and whether it is -binmode or textmode using the mount command. For example, - - bash$ mount -b --change-cygdrive-prefix cygdrive - -will change all /cygdrive/... mounts to binmode. +You can change the default cygdrive prefix and whether it is binmode or textmode using the /etc/fstab file +as well. See the Cygwin User's Guide at +http://cygwin.com/cygwin-ug-net/using.html#mount-table +for more details. @@ -655,17 +599,14 @@ will change all /cygdrive/... mounts to binmode. How can I copy and paste into Cygwin console windows? -First, consider using rxvt instead of the standard console window. In -rxvt, selecting with the left-mouse also copies, and middle-mouse -pastes. It couldn't be easier! +First, consider using rxvt or mintty instead of the standard console +window. In rxvt/mintty, selecting with the left-mouse also copies, +and middle-mouse pastes. It couldn't be easier! -Under Windows NT, open the properties dialog of the console window. +In Windows's console window, open the properties dialog. The options contain a toggle button, named "Quick edit mode". It must be ON. Save the properties. -Under Windows 9x, open the properties dialog of the console window. -Select the Misc tab. Uncheck Fast Pasting. Check QuickEdit. - You can also bind the insert key to paste from the clipboard by adding the following line to your .inputrc file: @@ -708,40 +649,32 @@ interfere with the normal functioning of Cygwin. How can I share files between Unix and Windows? -During development, we have both Linux boxes running Samba and Windows -machines. We often build with cross-compilers under Linux and copy +During development, we have Linux boxes running Samba and NFS as well +as Windows machines. We often build with cross-compilers under Linux and copy binaries and source to the Windows system or just toy with them -directly off the Samba-mounted partition. On dual-boot NT/Windows 9x -machines, we usually use the FAT filesystem so we can also access the -files under Windows 9x. +directly off the Samba-mounted partition. Or, we use the Microsoft NFS +client and just use NFS shares on Linux from Windows. And then there are +tools like scp, ftp, +rsync, ... -Is Cygwin case-sensitive? What are managed mounts? +Is Cygwin case-sensitive?? Several Unix programs expect to be able to use to filenames spelled the same way, but with different case. A prime example -of this is perl's configuration script, which wants Makefile and -makefile. WIN32 can't tell the difference between files with -just different case, so the configuration fails. +of this is perl's configuration script, which wants +Makefile and makefile. Windows can't +tell the difference between files with just different case, so the +configuration fails. -To help with this problem, starting in cygwin-1.5.0 it is -possible to have a case sensitive Cygwin managed mount. This is an -experimental feature and should be used with caution. You should only -use it for directories that are initially unpopulated and are due to -be completely managed by cygwin (hence the name). So, the best use -would be to create an empty directory, mount it, and then add files to -it: +To help with this problem, Cygwin supports casesensitivity +starting with Cygwin 1.7.0. For a detailed description how to use that +feature see the Cygwin User's Guilde at +http://cygwin.com/cygwin-ug-net/using-specialnames.html. - -mkdir /managed-dir -mount -o managed c:/cygwin/managed-dir /managed-dir -cd /managed-dir/ -touch makefile -touch Makefile - @@ -749,14 +682,20 @@ touch Makefile What about DOS special filenames? -Files cannot be named com1, lpt1, or aux (to name a few); either as -the root filename or as the extension part. If you do, you'll have +In Windows, files cannot be named com1, lpt1, or aux (to name a few); +either as the root filename or as the extension part. If you do, you'll have trouble. Unix programs don't avoid these names which can make things interesting. E.g., the perl distribution has a file called aux.sh. The perl configuration tries to make sure that aux.sh is there, but an operation on a file with the magic letters 'aux' in it will hang. +At least that's what happens when using native Windows tools. Cygwin +1.7.0 and later can deal with these filenames just fine. Again, see the +User's Guide at +http://cygwin.com/cygwin-ug-net/using-specialnames.html +for a detailed description of what's possible with filenames and what is not. + @@ -772,7 +711,7 @@ bet that the hung process is still running somewhere. Use the Task Manager, pview, or a similar utility to kill the process. And, if all else fails, there's always the reset button/power switch. -This should never be necessary under Windows NT. +In theory this should never be necessary, though. @@ -928,57 +867,9 @@ this message from the Cygwin mailing list: Is there a better alternative to the standard console window? -Yes! Use rxvt instead. It's an optional package in Cygwin Setup. -You can use it with or without X11. You can resize it easily by -dragging an edge or corner. Copy and paste is easy with the left and -middle mouse buttons, respectively. It will honor settings in your -~/.Xdefaults file, even without X. For details see -/usr/share/doc/Cygwin/rxvt-<ver>.README. - - - - -info error "dir: No such file or directory" - - -Cygwin packages install their info documentation in the -/usr/share/info directory. But you need to create a dir -file there before the standalone info program (probably -/usr/bin/info) can be used to read those info files. This is how -you do it: - - bash$ cd /usr/share/info - bash$ for f in *.info ; do install-info $f dir ; done - -This may generate warnings: - - install-info: warning: no info dir entry in `gzip.info' - install-info: warning: no info dir entry in `time.info' - -The install-info command cannot parse these files, so you will -have to add their entries to /usr/share/info/dir by hand. - -Even if the dir file already exists, you may have to update it when -you install new Cygwin packages. Some packages update the dir file -for you, but many don't. - - - - -Why do I get a message saying Out of Queue slots? - - -"Out of queue slots!" generally occurs when you're trying to remove -many files that you do not have permission to remove (either because -you don't have permission, they are opened exclusively, etc). What -happens is Cygwin queues up these files with the supposition that it -will be possible to delete these files in the future. Assuming that -the permission of an affected file does change later on, the file will -be deleted as requested. However, if too many requests come in to -delete inaccessible files, the queue overflows and you get the message -you're asking about. Usually you can remedy this with a quick chmod, -close of a file, or other such thing. (Thanks to Larry Hall for -this explanation). +Yes! Use rxvt or mintty instead. Both are optional packages in +Cygwin Setup. You can use rxvt with or without X11, while mintty is a +Cygwin application providing a native GUI. @@ -998,15 +889,9 @@ file: Note that the 0775 can be anything as long as the 0010 bit is set. - - - -Why does df report sizes incorrectly. - - -There is a bug in the Win32 API function GetFreeDiskSpace that -makes it return incorrect values for disks larger than 2 GB in size. -Perhaps that may be your problem? +Alternatively, use Windows shortcuts as symlinks. See the CYGWIN +environment variable option "winsymlinks" +http://cygwin.com/cygwin-ug-net/using-cygwinenv.html @@ -1016,8 +901,8 @@ Perhaps that may be your problem? The versions of Tcl/Tk distributed with Cygwin (e.g. cygtclsh80.exe, cygwish80.exe) are not actually "Cygwin versions" of those tools. -They are built with the -mno-cygwin option to gcc, which -means they do not understand Cygwin mounts or symbolic links. +They are built as native libraries, which means they do not understand +Cygwin mounts or symbolic links. See the entry "How do I convert between Windows and UNIX paths?" elsewhere in this FAQ.