If you want to hack on the GTK+ project, you'll need to have the following packages installed: - GNU autoconf 2.54 - GNU automake 1.7 - GNU libtool 1.4 - indent (GNU indent 1.9.1 is known good) - GNU gettext 10.40 These should be available by ftp from ftp.gnu.org or any of the fine GNU mirrors. Beta software can be found at alpha.gnu.org. Up-to-date instructions about developing GNOME applications and libraries can be found here: http://developer.gnome.org including information about using Subversion with GNOME: http://developer.gnome.org/tools/svn.html In order to get SVN gtk+ installed on your system, you need to have the most recent SVN versions of glib, pango, and atk installed as well. The installation process of these libraries is similar to that of gtk+, but needs to be fulfilled prior to installation of gtk+. If at all possible, please use SVN to get the latest development version of gtk+ and glib. You can do the following to get glib and gtk+ from SVN: $ svn checkout http://svn.gnome.org/svn/glib/trunk glib $ svn checkout http://svn.gnome.org/svn/pango/trunk pango $ svn checkout http://svn.gnome.org/svn/atk/trunk atk $ svn checkout http://svn.gnome.org/svn/gtk+/trunk gtk+ To compile the SVN version of gtk+ on your system, you will need to take several steps to setup the tree for compilation. You can do all these steps at once by running: gtk+$ ./autogen.sh Basically this does the following for you: gtk+$ aclocal; automake; autoconf The above commands create the `configure' script. Now you run the `configure' script in `gtk+/' to create all Makefiles. More information about that in `INSTALL'. Before running `autogen.sh' or `configure', make sure you have libtool in your path. Note that autogen.sh runs configure for you. If you wish to pass options like `--prefix=/usr' to `configure' you can give those options to `autogen.sh' and they will be passed on to `configure'. For information about submitting patches and committing changes to SVN, see the `README' and `README.commits' files. In particular, don't, under any circumstances, commit anything to SVN before reading and understanding `README.commmits'.