GnuWin FAQ


Can all packages be downloaded together?

No, there is not a single overall package. You must download each package as well as its dependencies separately. The dependencies are listed on the package page under the heading Requirements. For packages with setup programs, the dependencies are included in the setup program.
Mathias Michaelis has written a download and maintenance utility.

Back to index


Where should dependencies be installed?

When a package has a dependency, as shown on the package page under the heading Requirements, you usually need only the dynamic link library, with extension dll, from <dependency>-bin-....zip. The program that is dependent on this library must be able to find it, and so the library must either be in the same directory as the program, or be in a directory in the Path environment variable.

Back to index


Can I install a package in any directory?

Packages newer than 1 March 2002 are relocatable and can be installed in any directory, provided the subdirectory structure is maintained. Native language support, if supplied by the package, is then also active. Older 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.

Back to index


Can I install several packages in a single directory?

Yes. You can install all packages either in the same folder or in separate folders. For some older packages, you'll have to set some environment variables, if you're not installing in the default directory. Usually the package page gives instructions.

Back to index


The program aborts with the message: libintl.dll or libiconv.dll not found.

Download the libintl package and install the dynamic link library libintl.dll in a folder where the program may find it: either in the same folder as the program or in a folder that is in the Path environment variable. Similarly, when libiconv.dll is missing, install the libiconv package.

Back to index


The program seems to need an older version of a dependency.

This sometimes occurs when a package on which the program depends, has been updated. First try to copy the newer dynamic link library, e.g. jpeg62.dll, to a file with the required name, e.g. libjpeg.dll, and try to run the program again. If it still fails, the interface of the dependency dll has been changed, and you must download an older version of the dependency package. Since older versions have been removed from the download page, you must use the HTTP site.

Back to index


The program aborts with the message: cannot create file /tmp/...

The program tries to create a temporary file in the folder /tmp, which does not exist. Usually, this occurs because the environment variables TMPDIR or TMP do not exist. The solution is to define in your environment: TMPDIR=%TEMP% and TMP=%TEMP%. Additions to the environment are made in c:\autoexec.bat on Win95-98-ME systems and from Control Panel / System / Advanced / Environment on WinNT-2000-XP-Vista-7 systems.

Back to index


Does GnuWin have support for large files?

Packages newer than 1 April 2003 have been compiled with large-file support (LFS). These programs should be able to access files larger than 2 GB up to 9 EB (exabyte), i.e. 9,000,000 TB (terabyte) = 9,000,000,000 GB. LFS has been implemented by redefining the groups of stat and seek functions to their 64-bits equivalents. If you never use files larger than 2 GB, there is no need to upgrade packages just because large-file support has been added.

Back to index


How often are packages updated?

Packages are not updated on a regular basis or immediately after a new source release has appeared. The decision to update depends on the extent of the changes in the sources, the time since the last update, and the number of downloads.

Back to index


How can I disable native language support?

To make a program emit messages in english, set the environment variables LANG and LANGUAGE both to en.

Back to index


Should programs that link to GPL'ed DLLs from GnuWin also be released under the GPL?

There seem to be two different strands of opinion. The FSF holds that dynamic linking creates a derivative work, and so any program designed to run with a GPL-ed DLL, must be GPL itself; see http://www.fsf.org/licenses/gpl-faq.html. The only exception they make is for DLL's that come with the compiler and the kernel, such as the MS VC run-time DLL's; see http://www.fsf.org/licenses/gpl-faq.html#WindowsRuntimeAndGPL. On the other hand some OpenSource lawyers hold that dynamically linking does not make your program GPL. See http://www.nusphere.com/products/library/gpl_0401openmag.pdf and the discussion in http://www.linuxjournal.com/article.php?sid=6366.
There is no doubt that programs that link dynamically to DLL's from libraries with the LGPL or with the GPL with special provisions, may be GPL free.

Back to index


Why do I need to select the I agree button to install GNU software?

Q: Why do I need to select the I agree button to install GNU software when the GPL that is displayed says You are not required to accept this License, since you have not signed it.?

A: You must read this sentence in connection with the next one, starting with 'However.' So, if you do not accept the license, you cannot use the program to redistribute it, modify it, create new programs intended for distribution or embed it in new programs. See also the FAQ about the GPL.

Back to index


How can I display european special characters, such as , , and , in a command window?

See Native-language support. You'll need to select codepage 1252 for Latin1 languages.

Back to index


I'd like to redistribute pre-compiled packages from GnuWin. Are there any license issues?

You must adhere to the licenses of the original libraries and programs. If for example a package is distributed under the GPL, you must also provide the sources of the package as well as the sources of any programs you have created with these packages. There are no additional licenses and conditions imposed by GnuWin, except that you cannot sell programs or libraries from GnuWin for money.

Back to index


Is it possible to tar across file systems?

Add the --force-local option  to the tar command line.

Back to index


Can I use internet access with Gawk?

No. Gawk's approach of TCP and Internet is rather Unix specific. For example, it assumes the existence of files whereas MS-Windows assumes registry entries or DLL's. This is not easily ported to MS-Windows, and so this has not (yet) been done.

Back to index


Patch exits with the message Assertion failed, hunk, file patch.c, line 354

When the patchfile is a redirected stdin, i.e. if patch is called like patch ... < patchfile, then it must be an MS-Windows text file, i.e. CR-LF must be used as line endings. A file with LF may give this error message.

Back to index


Is there a setup version of the SSWF package?

The sswf package is different from other packages: GnuWin only provides links to the SSWF web site. Thus there is no setup program and no dependencies zip file. Just download the binaries etc.

Back to index


How can I read the man pages?

There is no man reader on MS-Windows. You can read the text-formatted man pages, which are in the cat subdirectories) with a text browser such as Wnbrowse or a text editor such as Notepad. For info files, you can use TkInfo. Probably the best way to read the docs and man pages is to view the PDF versions with Acrobat Reader or the HTML versions with an HTTP-browser, e.g. Internet Explorer.

Back to index


How do I run shell scripts?

Shell scripts can be recognized by the first line #! /bin/sh. Such shell scripts need a Unix shell to run. Such shells (Bash, Ksh or Csh) are available from Cygwin, Djgpp, Uwin, and MS-Windows Services for Unix (SFU)
Alternatively, one may translate the script into MS-Windows batch or script language.

Back to index


Why are too many files reported when I use wildcards?

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 subsection Using wildcard characters in section Remarks of the MS-Windows Technet description of the dir command.

Back to index


What is the HOME directory?

In user and reference manuals, ~ stands for the HOME directory. Programs often 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%.

Back to index


What is meant by ~ in a file path?

In user and reference manuals, ~ stands for the HOME directory. Programs often 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%.

Back to index