aboutsummaryrefslogtreecommitdiff
path: root/winsup/doc/install.texinfo
blob: 2d17f5f6a5fef22358408f446134faf187c9b451 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
@chapter Installation Instructions
@section 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 latest net release:

ash, bash, binutils, bison, byacc, bzip2, clear, common, cygwin,
dejagnu, diff, expect, fileutils, findutils, flex, gawk, gcc, gdb,
gperf, grep, groff, gzip, inetutils, less, libpng, login, m4, make, man,
opengl, patch, sed, shellutils, tar, tcltk, termcap, texinfo, textutils,
time, zlib

Full source code is available for all packages and tools.

There are a few different ways to install the Cygwin net release, and
we'll try to cover them all here.  It is strongly recommended to use the
automatic @code{setup.exe} program if you can.

@section Installation using the @code{setup.exe} program

@strong{IMPORTANT: If you run @code{setup.exe} on an existing Cygwin
installation, Setup will overwrite the contents of mounted directories.
There is no recovery from this.  If you are upgrading from an older
version of Cygwin, you may wish to back up your current installation and
unmount old mount points in order to isolate them.  Then you can
re-install Cygwin in a new location with new mount points, if this is
what you want.}

The @code{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 @code{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 @code{setup.exe}.

You have a few options when using @code{setup.exe}.  

The @code{setup.exe} program will prompt you for a "root" directory.
The default is 'C:\cygwin', but you can change it.  (You are strongly
urged @strong{not} to choose something like 'C:\'.)  It will contain the
necessary files and directory structure, and will be mounted to '/' as
part of the installation process.

After a new installation in the default location, your mount points will
look something like this:

@example
Device              Directory           Type         Flags
C:\cygwin\bin       /usr/bin            user         binmode
C:\cygwin\lib       /usr/lib            user         binmode
C:\cygwin           /                   user         binmode
@end example

Note that /bin and /usr/bin point to the same location, as do /lib and
/usr/lib.  This is intentional, and you should not undo these mounts
unless you @emph{really} know what you are doing.  Currently,
@code{setup.exe} creates only binary mounts, but future versions will
probably be more flexible.

You can let @code{setup.exe} download all the files for you on the fly.
This is the 'internet' installation.  Or you can download all (or some)
of the packages ahead of time, and instruct @code{setup.exe} to install
Cygwin from those files.  This is the 'directory' installation.  You
must use this method if you want to install only a subset of the
available packages.

Note that you cannot combine methods.  If you use the directory
installation, @code{setup.exe} will install @strong{only} the packages
it finds in the directory; it will not also be able to download packages
from the internet in the same pass.  If you have not carefully chosen
which packages to download, you may not end up with a working Cygwin
installation.  You can, however, add and update packages later.  See
below.

Whichever you choose, the first step is to open an ftp mirror site near
you from @file{http://sources.redhat.com/cygwin/mirrors.html}.  Then
go to the 'latest' directory, download @code{setup.exe} and save that to
an @strong{empty temporary directory}.  While you're there, download the
README file and read it.  Then read it again.

Then proceed according to your choice below.

@subsection Internet installation with @code{setup.exe}

Shut down @strong{all cygwin applications} (including inetd, etc.).

Then, in a @strong{Windows command prompt} ("MS-DOS Prompt" in Windows
95/98), '@code{cd}' to the temporary directory and type
'@code{setup.exe}'.

When prompted, specify the location of the root directory, or accept the
default.

At the next prompt, choose to install from the Internet ('i').  This is
the default.

Setup will connect to sources.redhat.com to read a list of mirror
sites.  Choose one from the list, or choose 'other' to supply your own.
If you supply your own, you must provide a full URL, not just the ftp
hostname.  Setup will then proceed to download and install all packages
from the ftp site.  Of course this may take a while if you have a slow
connection.

When finished, Setup will have created a "Cygnus Solutions" folder on
your Start Menu, containing a shortcut to @code{cygwin.bat}, which
invokes bash with various environment variables set correctly.  The
"Uninstall Cygwin" shortcut, if present, is unlikely to do a proper
job.  If you want to completely uninstall Cygwin, you will probably have
to delete some things by hand.

Once setup is complete you may remove the temporary directory.  It will
contain @code{setup.exe}, the downloaded @code{.tar.gz} files, and a
setup log file, which is not needed, but may contain helpful diagnostics
if your installation failed for some reason.

@subsection Directory installation with @code{setup.exe}

Before proceeding, you must download packages into the temporary
directory containing @code{setup.exe}.  These are in subdirectories of
'latest' and end in .tar.gz and not in -src.tar.gz.  If there is more
than one in a given directory, pick the one with the highest version
number.  Put them together in the temporary directory containing
@code{setup.exe}.  You may preserve the directory structure of 'latest',
and include the -src.tar.gz files, without ill effect.

Whatever subset you think is appropriate, it @strong{must} contain the
'cygwin' package, or you will not end up with a working Cygwin
installation.

When you have all the necessary tar files together with
@code{setup.exe}, proceed as you would for an internet installation,
except choose directory installation ('d') when prompted.  Setup will
install all the tar files that it finds there.  Here are the gory
details again:

Shut down @strong{all cygwin applications} (including inetd, etc.).

Then, in a @strong{Windows command prompt} ("MS-DOS Prompt" in Windows
95/98), '@code{cd}' to the temporary directory and type
'@code{setup.exe}'.

When prompted, specify the location of the root directory, or accept the
default.

At the next prompt, choose to install from the current directory ('d').
This is @strong{not} the default.

When finished, Setup will have created a "Cygnus Solutions" folder on
your Start Menu, containing a shortcut to @code{cygwin.bat}, which
invokes bash with various environment variables set correctly.  The
"Uninstall Cygwin" shortcut, if present, is unlikely to do a proper
job.  If you want to completely uninstall Cygwin, you will probably have
to delete some things by hand.

Once setup is complete you may remove the temporary directory.  It will
contain @code{setup.exe}, the downloaded @code{.tar.gz} files, and a
setup log file, which is not needed, but may contain helpful diagnostics
if your installation failed for some reason.

@subsection Adding or updating packages

Later versions of @code{setup.exe} permit you to add and/or update
packages to an existing cygwin installation.

@strong{You cannot use this method to update a B18, B19, B20, B20.1 or
CD-ROM (1.0) installation of Cygwin.  You must have previously installed
a net release of Cygwin 1.1.0 or greater, using @code{setup.exe}, before
you can update packages with 'setup -u'.}

To update your installation, create an empty temporary directory, and
download the latest version of @code{setup.exe} to it from a Cygwin
mirror near you.

Then, in a @strong{Windows command prompt} ("MS-DOS Prompt" in Windows
95/98), '@code{cd}' to the temporary directory and type
@example
	setup -u <pkg>
@end example
where "<pkg>" is the name of the package you wish to update, such as
"cygwin" or "gdb" or "make" or ...

Specify the root directory as you did when you first installed Cygwin.
This will update the package.  As with the initial installation, you can
update from the internet ('i') or from the directory ('d').  The latter
requires that you download the @code{.tar.gz} file of the package ahead
of time, along with @code{setup.exe}.

If you are updating the package "cygwin", then you must close
@strong{all} Cygwin applications (including @code{inetd}, for example),
before running setup.

You can omit the '-u' option, which will force setup to install the
latest package (from internet or directory), regardless of whether
@code{setup.exe} believes it is necessary.  You @strong{must} omit '-u'
if you are updating from a development snapshot, because development
snapshots have their version numbers "bumped" to the next release
number.  In this case, @code{setup.exe} will think your installation is
already up-to-date.

Once setup is complete you may remove the temporary directory.  It will
contain @code{setup.exe}, the downloaded @code{.tar.gz} files, and a
setup log file, which is not needed, but may contain helpful diagnostics
if your installation failed for some reason.

@subsection Problems running @code{setup.exe}

@subsubsection Error message: "Unable to retrieve the list of cygwin mirrors..."

This means that @code{setup.exe} could not make an http connection to
@file{http://sources.redhat.com/cygwin/mirrors.html}.  This is
required for an internet ('i') install.  Either sources.redhat.com was
too busy, or there is a problem with your network.  Note that
@code{setup.exe} has very limited proxy functionality for firewalls, and
depends on IE4 or later being installed and configured properly.  If you
cannot get the internet installation to work, just download the
packages yourself and do a directory ('d') install.

@subsubsection System hangs when unpacking tar archives

Your anti-virus software is interfering with @code{setup.exe}.  You will
have to disable it before running setup.  In that case, you will
probably want to:
@enumerate
@item download all the .tar.gz files for the packages, along with @code{setup.exe}
@item scan it all for viruses
@item disable the anti-virus software
@item perform a directory ('d') install
@item re-enable the anti-virus software
@item scan everything below your Cygwin root directory (@code{C:\cygwin} by default)
@end enumerate