1. Create a new directory say C:\APC++ and install all the apprentice software in it. This will give the subdirectories {bin, include, lib, man, src}. 2. uudecode is not available on Cygwin as far as I can see. The make file called Submake in the src directory executes uudecode to decode the encoded gif file representating the CDPlayer in the lib directory. Before doing anything else, I commented out the lines (cd ../lib uudecode CDimage.uue ) To # (cd ../lib # uudecode CDimage.uue # ) In the file C:\APC++\src\Submake, and then went into the lib directory and extracted the CDPlayer image using power archiver (as with any other zipped file). 3. Wafe.c in C:\APC++\src needs a line adding to deal with a perror() declaration problem. Add the line #include Just before the line #include "Wafe.h" 4. Now go into the Makefile in C:\APC++\src (not Makefile.common) and set the installation directory to the correct cygwin path: INSTALLDIR = /cygdrive/c/APC++ Or similar. Now run make from the C:\APC++\src directory: > make This should cause the system to be built (without problems) in the install directory. Within the Cygwin environment, check to see if it has been built correctly. 5. The last thing you may need to do it to tailor the installation directory in the shell command CCcs in C:\APC++\bin. It should have been set correctly (as a Cygwin path) by the installation. You also need to fix the line BOOLbool=${location}/lib/bool.o To read bool= I also had a problem with this part of the CCcs shell script: for arg do if test $arg = "-c" -o $arg = "-E" then ldoptions= break fi done And commented out the -o $arg = "-E" to look like: for arg do if test $arg = "-c" # -o $arg = "-E" then ldoptions= break fi done I think that's all there was.....and remember, none of the graphics-based classes work, due to a problem with Cygwin's implementation of wish. In addition you will need to set up a .bashrc file replacing the current path name with: C:\APC++\bin