All packages require MS Windows 2000 / XP
/ 2003 / Vista / 2008 / 7 with msvcrt.dll
. If msvcrt.dll
is not in your system folder (Windows\System or
Windows\System), get it from Microsoft
or by installing Internet
Explorer 4.0 or higher. Some packages also require msvcp60.dll
,
which is in the same Microsoft sources. Packages from 2009 and earlier usually
run also on 9x (MS Windows 95 / 98 / ME) and NT systems. Newer packages may also run on
9x and NT, but no new code to make them run on these systems, will be added. So, if a package does
not run on 9x or NT, use an older release.
Some packages require other packages as well (and these may
require still other packages!). Usually they require only the
dynamic link library (DLL), contained in <package>-<version>-bin.zip. All required packages from
GnuWin, i.e. excluding msvcrt.dll
, perl, etc, are included in
the Setup programs and the dependencies zip files.
Be careful not to use another version of a library that
depends on crtdll.dll
; any call to an executable with an implicit
dependence on both msvcrt.dll
and crtdll.dll
,
crashes.
Nor should you mix CygWin dlls and native dlls.
There are two ways to install: by a setup
program and by zip files. From the
package list, you can download
a package by means of a setup program. Just follow the
instructions. You may install more than one package in the same
directory, e.g. E:\Program Files\GnuWin
. The setup program,
created with
Inno Setup Compiler, accepts command-line options,
amongst others for silent install.
At the end of the installation setup you will be given the
option to download the sources. If after the installation you
wish to get the sources, then go to the package page by clicking
on the entry in the column Package. There you can also
install from individual zip files, which are smaller in size than
the install programs; but then you will have to take care of any
dependencies, as listed in the requirements section of the
package page, yourself. Download the zip files you
need, copy them to a directory and unzip the archives. Some
packages must be installed in their default directories (usually
c:\progra~1\<packagename>
), or you have to set
corresponding environment variables or set options at the command
line; see the documentation of the package, or, when available,
the installation instructions on the package page. Packages newer
than 1 April 2002 may be installed in any directory, provided the
subdirectory structure is maintained; native language support, if
supplied by the package, is then also active.
Mathias Michaelis has written a download and maintenance utility.
Most programs are command-line programs, and so should be run from a command prompt (DOS-box: command.com or cmd.exe). In the Windows Explorer, you may also associate a program or a batch file that calls the program, with a file extension. The length of the command-line is limited; see MSDN.
The MS-Windows command interpreters, command.com and cmd.exe, understand both the backward slash '\' (which is the default) and the forward slash '/' (such as on Unix) in filenames. In general, it is best to use forward slashes, since some programs internally use the filename, e.g. to derive a directory name, and in doing this rely on the forward slash as path separator.
On MS-Windows 95 / 98 / ME, the standard temporary-file directory is
usually pointed at by the environment variable TEMP
.
Programs with a Unix origin use however the environment variables
TMP
or TMPDIR
. If these have not been defined,
then the program tries the directory /tmp
, which on MS-Windows
usually does not exist, and so they exit with a failure. It is
therefore best to add TMP
=%TEMP
% and TMPDIR
=%TEMP
% to your
environment.
Several programs search for user-specific configuration files
in the directory pointed at by the environment variable
HOME
or in one of its subdirectories.
Therefore, set HOME
to the
directory where these files are to be found. On MS-Windows NT / 2000 / XP, it is
usually best to set HOME
to
%HOMEDRIVE%%HOMEPATH%
.
In user and reference manuals, the
HOME
directory is often abbreviated by ~
.
The MS-Windows command interpreters expand wildcards on the command-line sometimes differently from Unix:
'*'
is copied literally, and thus the program gets
'*'
, with
the single quotes included, as argument, whereas a Unix shell
passes *
, without the single quotes, to the program. If
you want the program to get *
as argument, then enclose
it in double quotes: "*"
. The use of quoted arguments on MS-Windows is quite
complicated.
An short explanation is given when you type help cmd
at the
cmd
prompt. The following characters must be enclosed in double quotation marks:
& < > [ ] { } ^ = ; ! ' + , ` ~ [white space]
, since otherwise the
command shell strips them and they will not be passed as argument.
Filename
wildcards are being matched by means of the short filename. This may lead to
unexpected results. For example, the short file name of test2.abcx
is TEST2~1.ABC
(to see this, give the command dir /x
),
and this matches *.abc
. Therefore a command such as ls *.abc
will also report test2.abcx
; see the
MS-Windows description of the
dir command.
Packages newer than 1 April 2003, have been compiled with large-file support (LFS). These programs should be able to access files up to 9 EB (exabyte) = 9,000,000 TB (terabyte) = 9,000,000,000 GB. If you never use files larger than 2 GB, there is no need to upgrade packages just because large-file support has been added. Note that the current MS-Windows implementation of file systems allow for maximum file sizes of 4 GB on FAT16, 128 GB on FAT and 256 TB = 256,000 GB on NTFS; see Chapter 13: Working with file systems of the MS-Windows XP Resource Kit.
Most GNU packages have the ability to output messages in several languages.
This native-language support
(NLS) requires the
LibIntl and the
LibIconv libraries. On MS-Windows they have
been adapted so that NLS chooses the
system language, unless the
environment variables LANG
and LANGUAGE
have been set. The language
codes (ISO 639)
for these environment variables are
different from the
MS-Windows
ones. When using a program in a console window (command.com
or
cmd.exe
) and
setting LANG
and LANGUAGE
, you must also set the correct
code
page with the
chcp
command; for Western European languages, code page
1252
usually suffices.
You can change the default code page by changing the OEMCP
value in
the registry key HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage
For other languages, such as those with a Cyrillic character set, NLS may not
operate correctly, unless a TrueType font with these characters has been chosen. If you want to disable NLS, then set the environment
variables LANGUAGE
and LANG
to en
; then
all messages will be in English.
Binaries are in <package>-<version>-bin.zip.
This includes the dynamic link libraries (DLL) of the package, as
well as text versions of the man pages. In general, this is the
only part that you need for running the programs of the package,
provided any dependencies (listed under Requirements) have also
been installed. For packages newer than 1 August 2003,
dependencies are included in <package>-<version>-dep.zip.
If a package can be installed by a setup program, the
dependencies are included in the setup program for the binaries.
DLL's have a version number
attached to their name; releases of a DLL that have the same
version number have compatible interfaces, i.e. functions are
called in the same way.
The developer sub-package <package>-<version>-lib.zip
contains include files and libraries for developing programs. The
libraries are: a static GCC library (suffix: .a) and a
GCC (suffix: .dll.a) import library for using the
dynamic link library (DLL) that is contained in the binary sub-package.
For developing applications with the libraries, you will usually
also need the LibGwC
library.
If you wish to develop applications, then read the Notes on compilation.
The documentation sub-package <package>-<version>-doc.zip contains documentation in Html (.html), MS-Windows Compiled HTML (.chm), MS-Windows Help (.hlp), Postscript (.ps), PDF (.pdf) and TeX DVI (.dvi) formats. The file <package>-<version>-bin.zip contains text versions of the man pages.