Well, the first thing that you should know is that his book is based upon GTK+ 1.2. Most distributions come with GTK+ 2.10, which is the current release. Actually, almost every book on GTK+ is on version 1.2. Foundations of GTK+ Development, found at
http://www.gtkbook.com, is the only book available on GTK+ 2.x. (In order to have full disclosure, I wrote this book.)
One of the reasons this may not be working is because of conflicts in libraries. It does not run on my system if I compile it against my version of GTK+. However, if I install GTK+ 1.2 alongside my version, it does compile and run.
As for your warnings, it is because he did not include <string.h> or <stdlib.h>. Compilers are stricter about this now, especially GCC. The application doesn't work because those functions cannot be found.
Lastly, his method of compiling is with gtk-config, but this is depreciated. You should be compiling with pkg-config, although the book will not cover it because the application did not exist when the book was released in 1999. I would recommend that in the future, when you buy a book, check the publication date. Even if you learn GTK+ from this book, you are going to be 5 years behind the game because there were an immense number of changes between GTK+ 1.2 and 2.0 (and beyond).[/url]