Merge "Installation and Setup" and "Using Cygwin Releases" to simply

"Using Cygwin".  Significant update to "How can I access other drives?".
This commit is contained in:
David Starks-Browning 2000-06-12 21:46:19 +00:00
parent 7f4b6412be
commit a50b13da06

View File

@ -115,45 +115,7 @@ you write to the correct address in the first place.
Beyond that, perhaps nobody has time to answer your question. Perhaps Beyond that, perhaps nobody has time to answer your question. Perhaps
nobody knows the answer. nobody knows the answer.
@section Installation and Setup @section Using Cygwin
@subsection Why is the install of the tools failing?
@strong{(Please note: This section has not yet been updated for the latest
net release.)}
If you are getting an error message saying "The decompression of
%s failed. There may not be enough free disk space in the TEMP
directory.", read on.
InstallShield has a bug where it fails with this message if there
are more than a certain number of files in your TEMP directory.
You can also get this message if you have files in your TEMP dir
named the same thing InstallShield wishes to name its files (probably
from past runs of other InstallShield install scripts) which it cannot,
for some reason, write over. Perhaps this will be fixed in a future
release of InstallShield.
Until then, clearing out your TEMP directory entirely should do it.
That will get rid of any files with conflicting names and solve the
"too many files" problem as well.
@subsection Help! I haven't created /tmp and tools are behaving strangely!
@strong{(Please note: This section has not yet been updated for the latest
net release.)}
Many Unix tools (bash, byacc, etc.) expect that /tmp always exists.
This is not guaranteed in Win32 land. You should create /tmp or "mount"
the directory of your choice to /tmp to avoid this problem.
@subsection Why does bash spew out "49054596: No such file or directory"?
@strong{(Please note: This section has not yet been updated for the latest
net release.)}
Are you sure you created a /tmp? The bash shell will print a
warning if it doesn't find a /tmp directory.
@subsection How do I set /etc up? @subsection How do I set /etc up?
@ -168,24 +130,7 @@ mkgroup to create /etc/passwd and /etc/group respectively. Since
Windows 95/98's Win32 API is less complete, you're out of luck if Windows 95/98's Win32 API is less complete, you're out of luck if
you're running Windows 95/98. you're running Windows 95/98.
@subsection Bash says that it can't vfork (or just hangs). Why? @subsection Why doesn't bash read my .bashrc file on startup?
@strong{(Please note: This section has not yet been updated for the latest
net release.)}
Most often this is because it can't find itself in the path. Make sure
that your path includes the directory where bash lives, before you start
it.
Also make sure you have a valid @code{/bin/sh.exe}. If you get errors
like 'no such file or directory' when you're trying to run a shell
script, which you know is there, then your problem is probably that bash
can't find @code{/bin/sh}.
@subsection How can I get bash to read my .bashrc file on startup?
@strong{(Please note: This section has not yet been updated for the latest
net release.)}
Your .bashrc is read from your home directory specified by the HOME 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 environment variable. It uses /.bashrc if HOME is not set. So you need
@ -194,30 +139,34 @@ mounted as / in Cygwin.
@subsection How can I get bash filename completion to be case insensitive? @subsection How can I get bash filename completion to be case insensitive?
@strong{(Please note: This section has not yet been updated for the latest
net release.)}
"shopt -s nocaseglob" should do the trick. "shopt -s nocaseglob" should do the trick.
@subsection Can I use paths/filenames containing spaces in them? @subsection Can I use paths/filenames containing spaces in them?
@strong{(Please note: This section has not yet been updated for the latest
net release.)}
Cygwin does support spaces in filenames and paths. That said, some Cygwin does support spaces in filenames and paths. That said, some
utilities that use the library may not, since files don't typically utilities that use the library may not, since files don't typically
contain spaces in Unix. If you stumble into problems with this, you contain spaces in Unix. If you stumble into problems with this, you
will need to either fix the utilities or stop using spaces in filenames will need to either fix the utilities or stop using spaces in filenames
used by Cygwin tools. used by Cygwin tools.
In particular, bash interprets space as a word separator. You would have
to quote a filename containing spaces, or escape the space character.
For example:
@example
bash-2.03$ cd '/cygdrive/c/Program Files'
@end example
or
@example
bash-2.03$ cd /cygdrive/c/Program\ Files
@end example
@subsection Why can't I cd into a shortcut to a directory? @subsection Why can't I cd into a shortcut to a directory?
@strong{(Please note: This section has not yet been updated for the latest Cygwin does not follow MS Windows Explorer Shortcuts (*.lnk files). It
net release.)} sees a shortcut as a regular file and this you cannot "cd" into it.
Cygwin does not follow MS Windows Explorer Shortcuts (*.lnk
files) yet. It sees a shortcut as a regular file and this you
cannot "cd" into it.
Some people have suggested replacing the current symbolic link scheme Some people have suggested replacing the current symbolic link scheme
with shortcuts. The major problem with this is that .LNK files would with shortcuts. The major problem with this is that .LNK files would
@ -226,13 +175,9 @@ under native Win32 non-Cygwin applications such as Explorer.
@subsection I'm having basic problems with find. Why? @subsection I'm having basic problems with find. Why?
@strong{(Please note: This section has not yet been updated for the latest Make sure you are using the find that came with Cygwin and that you
net release.)} aren't picking up the Win32 find command instead. You can verify that
you are getting the right one by doing a "type find" in bash.
Make sure you are using the find that came with the Cygwin tools
and that you aren't picking up the Win32 find command instead. You
can verify that you are getting the right one by doing a "type find"
in bash.
@subsection Why don't cursor keys work under Win95/Win98? @subsection Why don't cursor keys work under Win95/Win98?
@ -266,108 +211,84 @@ properly).
@subsection Is it OK to have multiple copies of the DLL? @subsection Is it OK to have multiple copies of the DLL?
@strong{(Please note: This section has not yet been updated for the latest It is a very bad idea to have multiple *versions* of the cygwin DLL in
net release.)} your path. They often conflict in funny ways. If you have multiple
versions, get rid of (or rename) all the older versions, keeping only
the newest one.
It's a bad idea to have multiple versions of the cygwin DLL in It should be OK to have multiple copies of the *same* DLL in your path,
your path. They often conflict in funny ways. If you have though.
multiple versions, it's usually OK to get rid of (or rename)
all the older versions, keeping only the newest one.
It should be OK to have multiple copies of the *same* DLL
in your path, though.
@section Using Cygwin Releases
@subsection Why aren't man, groff, etc. included in the betas?
@strong{(Please note: This section has not yet been updated for the latest
net release.)}
For obvious reasons, it isn't feasible for us to maintain and provide
binary distributions of every tool ported to work with the Cygwin
tools. However, it's likely that a man command will show up in a
distribution soon.
Many other tools have been ported and are referenced on the Cygwin web
site. man, groff, info, and many many other packages are all
available for download there.
@subsection Where can I find "less"?
@strong{(Please note: This section has not yet been updated for the latest
net release.)}
The less pager binary is available for the first time in the 20.1
release. You will get it if you upgrade. It is also available from
various ftp locations on the Net. Search the mailing list archives for
the details.
@subsection Where can I find "more"? @subsection Where can I find "more"?
@strong{(Please note: This section has not yet been updated for the latest
net release.)}
If you are looking for the "more" pager, you should use the "less" pager If you are looking for the "more" pager, you should use the "less" pager
instead. See the last question and answer for more information. instead.
@subsection Where can I find "which"? @subsection Where can I find "which"?
@strong{(Please note: This section has not yet been updated for the latest There is no "which" command with Cygwin. However, you can use the bash
net release.)} shell builtin "type" which does something similar.
While we don't include a which command, you can use the bash built
in "type" command which does something fairly similar.
@subsection How can I access other drives? @subsection How can I access other drives?
@strong{(Please note: This section has not yet been updated for the latest You have some flexibility here.
net release.)}
The best way is to use the "mount" command to mount the drive letter so Cygwin has a builtin "cygdrive prefix" for drives that are not mounted.
that you can refer to it with only single slashes: You can access any drive, say Z:, as '/cygdrive/z/'.
In some applications (notably bash), you can use the familiar windows
<drive>:/path/, using posix forward-slashes ('/') instead of Windows
backward-slashes ('\'). (But see the warning below!) This maps in the
obvious way to the Windows path, but will be converted internally to use
the Cygwin path, following mounts (default or explicit). For example:
@example @example
bash$ mkdir /c bash-2.03$ cd C:/Windows
bash$ mount c:/ /c bash-2.03$ pwd
bash$ ls /c /cygdrive/c/Windows
....
@end example @end example
This is done with textual substitution whenever a file is opened. and
So if you're going to do @code{ls /c/bar} on a mount like the above
the guts will turn that into @code{ls c:/bar}. @example
bash-2.03$ cd C:/cygwin
bash-2.03$ pwd
/
@end example
for a default setup. (You could also use backward-slashes in the
Windows path, but these would have to be escaped from the shell.)
@strong{Warning:} There is some ambiguity in going from a Windows path
to the posix path, because different posix paths, through different
mount points, could map to the same Windows directory. This matters
because different mount points may be binmode or textmode, so the
behaviour of Cygwin apps will vary depending on the posix path used to
get there.
You can avoid the ambiguity of Windows paths, and avoid typing
"/cygdrive", by explicitly mounting drives to posix paths. For example:
@example
bash$ mkdir /c
bash$ mount c:/ /c
bash$ ls /c
@end example
Note that you only need to mount drives once. The mapping is kept Note that you only need to mount drives once. The mapping is kept
in the registry so mounts stay valid pretty much indefinitely. in the registry so mounts stay valid pretty much indefinitely.
You can only get rid of them with umount (or the registry editor). You can only get rid of them with umount (or the registry editor).
The '-b' option to mount mounts the mountpoint in binary mode where text The '-b' option to mount mounts the mountpoint in binary mode
and binary files are treated equivalently. This should only be ("binmode") where text and binary files are treated equivalently. This
necessary for badly ported Unix programs where binary flags are missing should only be necessary for badly ported Unix programs where binary
from open calls. 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
Since the beta 16 release, we also support a special means of accessing new mounts is text mode ("textmode"), which is also the mode for all
other drive letters without using the @code{mount} command. This "cygdrive" mounts.
support may disappear in a future Cygwin release because of the
collision between this scheme and UNC pathname support (one character
machine names don't work currently).
To do an "ls" on drive letter f:, do the following:
@example
bash$ ls //f/
@end example
Note that you can also access UNC paths in the standard way. Because of
the drive letter shortcut mentioned above, machine names in UNC paths
must be more than one character long.
@subsection How can I copy and paste into Cygwin console windows? @subsection How can I copy and paste into Cygwin console windows?
@strong{(Please note: This section has not yet been updated for the latest
net release.)}
Under Windows NT, open the properties dialog of the console window. Under Windows NT, open the properties dialog of the console window.
The options contain a toggle button, named "Quick edit mode". It must The options contain a toggle button, named "Quick edit mode". It must
be ON. Save the properties. be ON. Save the properties.
@ -395,9 +316,6 @@ Cygwin library.
@subsection How can I share files between Unix and Windows? @subsection How can I share files between Unix and Windows?
@strong{(Please note: This section has not yet been updated for the latest
net release.)}
During development, we have both Unix boxes running Samba and During development, we have both Unix boxes running Samba and
NT/Windows 95/98 machines. We often build with cross-compilers NT/Windows 95/98 machines. We often build with cross-compilers
under Unix and copy binaries and source to the Windows system under Unix and copy binaries and source to the Windows system
@ -498,7 +416,7 @@ it's worth it for people with more complex installations.
@strong{(Please note: This section has not yet been updated for the latest @strong{(Please note: This section has not yet been updated for the latest
net release.)} net release.)}
One person reported that McAfee VirusScan for NT (and others?) is Users have reported that McAfee VirusScan for NT (and others?) is
incompatible with Cygwin. This is because it tries to scan the incompatible with Cygwin. This is because it tries to scan the
newly loaded shared memory in the cygwin.dll, which can cause fork()s newly loaded shared memory in the cygwin.dll, which can cause fork()s
to fail, wreaking havoc on many of the tools. to fail, wreaking havoc on many of the tools.
@ -530,16 +448,6 @@ not yet providing a man page or info reader. Both types of
documentation are available in a tar file available from the project ftp documentation are available in a tar file available from the project ftp
site. Or consult the online documentation over the WWW. site. Or consult the online documentation over the WWW.
@subsection Why can't B20's "cygcheck -s" find cpp?
@strong{(Please note: This section has not yet been updated for the latest
net release.)}
This is a confusingly worded warning that will be reworded in future
versions. In fact, cygcheck should normally *not* find cpp; if it does,
it may be a problem (e.g. it might pick up Borland's cpp, which would
cause problems).
@subsection Why do I get a message saying Out of Queue slots? @subsection Why do I get a message saying Out of Queue slots?
@strong{(Please note: This section has not yet been updated for the latest @strong{(Please note: This section has not yet been updated for the latest
@ -559,9 +467,6 @@ this explanation).
@subsection Why don't symlinks work on samba-mounted filesystems? @subsection Why don't symlinks work on samba-mounted filesystems?
@strong{(Please note: This section has not yet been updated for the latest
net release.)}
Symlinks are marked with "system" file attribute. Samba does not Symlinks are marked with "system" file attribute. Samba does not
enable this attribute by default. To enable it, consult your Samba enable this attribute by default. To enable it, consult your Samba
documentation and then add these lines to your samba configuration documentation and then add these lines to your samba configuration