Cygwin is a Unix-like emulator for Windows, equipped with GNU compilers for Fortran 77, C and C++, and most of the usual Unix utilities. It can be freely downloaded from www.cygwin.com. However, to get a working system you have to make a number of choices about which 'packages' you wish to install. You can make you own choices, or follow mine. This is how to do it.... --- |1| --- Click on the 'install or update now!' link, and in the resulting 'File download' box, choose 'Run'. The setup wizard takes you through the installation - you can accept many but not all of the defaults. In order, choose: (i) Install from Internet (ii) Root directory is c:\cygwin and choose 'just me' and 'DOS files' (iii) Local package directory could be c:\cygwin\installfiles (iv) Choose 'direct connection' (v) Choose http://www.mirror.ac.uk (vi) When offered a list of packages to install, make the following choices: Archive : zip and unzip Base Devel: binutils, libgcc1, libgfortran3, make - plus gcc, g77, java, mingw in any combination! Doc: cygwindoc, man, texinfo Edit: ed, vim, hexedit Graphics: ghostview, gv, ImageMagick Interpreters: gawk, perl Shells: ash, bash, tcsh ... and leave the rest as 'default' If this process fails, seek advice. Installation commonly fails if there has been a previous partial or complete attempt at installation. --- |2| --- Now sort out some issues to do with your identity and home directory. To understand these, it might help to know that Windows and Cygwin have different names for the same directories. You can see the relationship by typing 'df' in Cygwin, but in brief: Cygwin Windows / c:\cygwin ... and subdirectories thereof, except for: /cygdrive/c c:\ ... and subdirectories thereof. Similarly, other drives are referred to by Cygwin as /cygdrive/. (a) Double-click on the Cygwin icon to open a Cygwin commands window, and type 'touch dummy', then 'ls -ln dummy'. You should see something like: $ ls -ln dummy -rw-rw-rw- 1 400 545 0 Mar 11 17:32 dummy giving the numerical id's Cygwin stores corresponding to your username (400 in this case), and your group (545). Make a note of these two numbers. (b) You are going to edit two files, passwd and group, in c:\Cygwin\etc. Make copies of these for safety - say passwd.orig and group.orig (c) Then use (for example) Notepad or Notetab to edit c:\Cygwin\etc\passwd. If there is a line starting with your user ID, you will edit that. If not, copy the line starting Guest to the end of the file, and change Guest to your user id. The lines contain 7 fields separated by colons (:). Change the 3rd and 4th fields to contain the numbers noted in part(a) above (400 and 545 in the example). Change the 6th field to read /cygdrive/c/Documents/. It will now look something like: mapjg:unused_by_nt/2000/xp:400:545:Peter Green,U-MATHS-PC109\mapjg, ^^^ ^^^ S-1-5-21-1999401418-1192846027-822219129- 1000:/cygdrive/c/Documents/:/bin/bash ^^^^^^^^^^^^^^^^^^^^^^ (where your changes are highlighted by ^^^) (d) Similarly edit c:\Cygwin\etc\group so that the Users line has the group number as the 3rd field, as in: Users:S-1-5-32-545:545: ^^^ (e) Close any Cygwin windows that are open. --- |3| --- If you now double-click on the Cygwin icon to open a Cygwin commands window, and type 'touch dummy', then 'ls -l dummy', you should see something like: $ ls -l dummy -rw-rw-rw- 1 mapjg Users 0 Mar 14 14:19 dummy If you do not see your user ID, and the group 'Users', repeat all of step 2, or seek advice. /cygdrive/c/Documents/ (c:\Documents so far as Windows is concerned) is your home directory, and is where any setup files you wish should be placed. You're then ready to work....