I belive i can offer some assistance here... the included library unistd contains crypt. The only thing I can think of is that your compiler either does not have that header file, or during compile you need to add a library (i.e. -lm , this includes the math library). If your running windows, it isnt likely you have this header file... considering its a GNU lib. I usually just include any library includes in my make file to keep me from having to remember what libraries I need every time i run the program. Hope this helped.

Good book by they way :-)

-Shell_Coder