Go to the first, previous, next, last section, table of contents.


Installation Instructions

Contents

Unlike previous net releases such as B20.1 and earlier, there is no monolithic "full" or "usertools" installation. Rather, you can pick and choose the packages you wish to install, and update them individually.

The following packages are available with the current release, in their respective directories:

`latest'
ash autoconf bash binutils bison byacc bzip2 clear common crypt cygwin dejagnu diff expect fileutils findutils flex gawk gcc gdb gperf grep groff gzip inetutils less login m4 make man mt opengl openssh openssl patch regex sed shellutils tar tcltk termcap texinfo textutils time vim w32api
`contrib'
cvs gdbm gettext jbigkit jpeg libpng ncurses readline tiff xpm zlib

Full source code is available for all packages and tools.

There is one recommended way to install Cygwin, which is to use the GUI installer `setup.exe'. There are some variations on how you go about that.

Do it any other way, and you're on your own! That said, keep in mind that the GUI installer is a "work in progress", so there might be a few difficulties, especially if you are behind a firewall or have other specific requirements. If something doesn't work right for you, and it's not covered here or elsewhere, then by all means report it to the mailing list.

Installation using the `setup.exe' program

IMPORTANT: First read the README file in the `latest' directory at any ftp mirror. DO THIS NOW! Information in the README file is not repeated here. You can find a mirror site near you from http://cygwin.com/mirrors.html.

The `setup.exe' program is the recommended way to install Cygwin, but it is still a work in progress. Expect features and functionality to change. For this reason, it is a good idea to note the version and build time reported by setup.exe when you run it. This will help diagnose problems, should you have any. Check the cygwin mailing list for the latest news about setup.exe.

Why not install in C:\?

The setup.exe program will prompt you for a "root" directory. The default is `C:\cygwin', but you can change it. You are urged not to choose something like 'C:\' (the root directory on the system drive) for your Cygwin root. If you do, then critical Cygwin system directories like 'etc', 'lib' and 'bin' could easily be corrupted by other (non-Cygwin) applications or packages that use \etc, \lib or \bin. Perhaps there is no conflict now, but who knows what you might install in the future? It's also just good common sense to segregate your Cygwin "filesystems" from the rest of your Windows system disk. (In the past, there had been genuine bugs that would cause problems for people who installed in C:\, but we believe those are gone now.)

Can I use the new setup to update a B18, B19, B20, B20.1 or CD-ROM (1.0) installation of Cygwin?

No, you must start from scratch with the new setup. The overall structure has changed so much that it would be silly to try to accomodate old installations of Cygwin. You'll probably be much better off with a whole new installation anyway. You may backup or rename your old installation first, or just install the new one somewhere else. Be sure to make note of your current mount table, because this will be overwritten during the new setup.

Once you've installed the latest net release, the new setup will update just the individual packages that need it.

The README says I should turn off anti-virus software. Isn't that dangerous?

Only Network Associates (formerly McAfee) products have been reported to "hang" when extracting Cygwin tar archives. Other products have been reported to detect false positives in Cygwin files. Depending on how your anti-virus software is configured, it may then delete the file(s) without prompting you. Any problems will depend on the particular engine and/or signature file in use, and possibly other factors. If you don't mind this risk, then just leave your anti-virus software running.

Otherwise, you can download setup.exe and scan it. Then turn off the anti-virus software, then run setup to download and extract all the tar files. Then re-activate your anti-virus software and scan everything in C:\cygwin (or wherever you chose to install). This should be safe, as long as nobody substitutes a malicious setup.exe!

What packages should I download?

Just get everything, if you have room for it. But if you must be selective:

`cygwin'
This is the minimum core, consisting of the cygwin1.dll and a few commands (like mount). Not much else, and no shell!
`bash'
This is the default interactive command shell for cygwin. If you don't install `bash', then the "Cygwin Bash Shell" shortcut that setup creates for you won't actually do anything.
`ash'
This is often forgotten because it's not obvious that `ash' contains /bin/sh, which is essential for running scripts (and `make' and ...).

If you want to build programs, of course you'll need `gcc', but you'll also need `binutils', probably `make' and `fileutils', and possibly lots more. (Again, consider just getting everything!)

What if setup fails?

First, make sure that you are using the latest version of setup.exe. It's a work in progress, with improvements and bugfixes being made often. The latest version is always available from the 'Install Cygwin now' link on the Cygwin Home Page at http://cygwin.com/.

If you are downloading from the internet, setup will fail if it cannot download the list of mirrors at http://cygwin.com/mirrors.html. It could be that the network is too busy. Similarly for an ftp download site that isn't working. Try another mirror, or try again later.

If setup refuses to download a package that you know needs to be upgraded, try deleting that package's entry from /etc/setup. If you are reacting quickly to an announcement on the mailing list, it could be that the mirror you are using doesn't have the latest copy yet. Try another mirror, or try again tomorrow.

If setup has otherwise behaved strangely, check the files `setup.log' and `setup.log.full' in the Cygwin root directory (C:\cygwin by default). It may provide some clues as to what went wrong and why.

If you're still baffled, search the Cygwin mailing list for clues. Others may have the same problem, and a solution may be posted there. If that search proves fruitless, send a query to the Cygwin mailing list. You must provide complete details in your query: version of setup, options you selected, contents of setup.log and setup.log.full, what happened that wasn't supposed to happen, etc.

What's the difference between packages in `latest' and `contrib'?

Good question! That very issue has been debated on the `cygwin-apps' mailing list. Check the list archives if you want to know more. Start at http://cygwin.com/lists.html.

But it really doesn't matter, and there is no distinction as far as setup.exe is concerned. By default, it will install all packages from both latest and contrib directories.

My Windows logon name has a space in it, will this cause problems?

Most definitely yes! UNIX shells (and thus Cygwin) use the space character as a word delimiter. Under certain circumstances, it is possible to get around this with various shell quoting mechanisms, but you are much better off if you can avoid the problem entirely.

In particular, the environment variables `USER' and `HOME' are set for you in /etc/profile. By default these derive from your Windows logon name. You may edit this file and set them explicitly to something without spaces.

(If you use the `login' package or anything else that reads /etc/passwd, you may need to make corresponding changes there. See the README file for that package.)

Setup screwed up my mounts!

Setup will remove the following mounts, should you have them:

	/
        /usr
        /usr/bin
        /usr/lib
        /var
        /lib
        /bin
        /etc

It will then restore (or create new) mounts for /, /usr/bin and /usr/lib as follows (assuming the default install root C:\cygwin):

	Device              Directory
	C:\cygwin\bin       /usr/bin
	C:\cygwin\lib       /usr/lib
	C:\cygwin           /

Since setup is not a Cygwin program, it cannot know about your mounts (or symlinks, for that matter), and so must impose and enforce this structure. You should not try to defeat it, unless you know what you are doing and can deal with the consequences.

How do I uninstall Cygwin?

Setup has no automatic uninstall facility. Just delete everything manually:

It's up to you to deal with other changes you made to your system, such as installing the inetd service, altering system paths, etc. Setup would not have done any of these things for you.

Can I use setup to install snapshots?

Yes. If experimenting with developer snapshots from http://cygwin.com/snapshots/, you should generally install the full cygwin-inst-YYYYMMDD.tar.bz2 update, rather than just the DLL, otherwise some components may be out of sync. However, Cygwin tar won't work because it will load the DLL that you're trying to update, and a non-Cygwin program like WinZip will put everything in the wrong place. The solution is to use setup.exe.

Just bunzip2 the cygwin-inst tarball, rename it to cygwin-YYYYMMDD.tar, gzip it, put it in an empty directory, and run setup.exe there. You should be given the option to install it.

The obvious warnings about updating the cygwin package and using developer snapshots apply:

  1. Always download the latest version of setup from http://cygwin.com/setup.exe.
  2. Close all Cygwin apps, including shells and services (e.g. inetd), before running setup. You may have to restart Windows to clear the DLL from memory.
  3. Snapshots are risky. They have not been tested. Use them only if there is a feature or bugfix that you need to try.
  4. If you cannot download a snapshot from the main ftp distribution site, use a mirror, and look in the `snapshots' directory. You may have to hunt for one that has a copy of the latest snapshot. Start at http://cygwin.com/mirrors.html.


Go to the first, previous, next, last section, table of contents.