Tips for Installing IND / Unixstat on Cygwin

  1. When installing Cygwin, double check that the packages for tcsh and gcc will be installed. (By default these are not installed.)
  2. If install.script has a lot of errors when compiling Unixstat, you should comment out the lines that cause the errors, which are all caused by unnecessary forward function declarations for malloc() and calloc(). Specifically, comment out line 1 in unixstat/src/stdlib.h and line 66 in unixstat/src/calc.y
  3. Now everything in unixstat should compile, except possibly for calc. You don't really need this binary though.
  4. Even though everything now compiles, you may see errors like "cs578.hw1/bin/dm: cannot execute binary file" when running inddemo. If you list the contents of cs578.hw1/bin, you'll see that there are two copies of most of the files. One version has names that end in .exe, the other version has no file extension and has a timestamp from 2004. The script is trying to run the old version of the binaries, which are compiled for Linux. Delete the old versions (but be sure to keep the script files inddemo and growtree). Here is a conservative way to do it:

          for dup in `ls *.exe` ; do rm `echo $dup | sed 's/\.exe//'` ; done

    Alternatively you can move all the old files to a separate directory (mv bin old.bin) and then run install.script. Once the install script is done, copy back inddemo and growtree to bin/.
  5. The script inddemo should now work.