Next Previous Contents

2. How to find, configure, install, and troubleshoot GTK+

2.1 What do I need to run GTK+?

To compile GTK+, all you need is a C compiler (gcc) and the X Window System and associated libraries on your system.

2.2 Where can I get GTK+?

The canonical site is:

ftp://ftp.gtk.org/pub/gtk
This site tends to get busy around the time of a new GTK+ release so try and use one of the mirror sites that are listed in ftp://ftp.gtk.org/etc/mirrors

Here's a few mirror sites to get you started:

2.3 How do I configure/compile GTK+?

Generally, all you will need to do is issue the commands:

./configure
make
in the gtk+-version/ directory.

2.4 When compiling GTK+ I get an error like: make: file `Makefile' line 456: Syntax error

Make sure that you are using GNU make (use make -v to check). There are many weird and wonderful versions of make out there, and not all of them handle the automatically generated Makefiles.

2.5 I've compiled and installed GTK+, but I can't get any programs to link with it!

This problem is most often encountered when the GTK+ libraries can't be found or are the wrong version. Generally, the compiler will complain about an 'unresolved symbol'. There are two things you need to check:

2.6 When compiling programs with GTK+, I get compiler error messages about not being able to find "glibconfig.h".

The header file "glibconfig.h" was moved to the directory $exec_prefix/lib/glib/include/. $exec_prefix is the directory that was specified by giving the --exec-prefix flags to ./configure when compiling GTK+. It defaults to $prefix, (specified with --prefix), which in turn defaults to /usr/local/.

This was done because "glibconfig.h" includes architecture dependent information, and the rest of the include files are put in $prefix/include, which can be shared between different architectures.

GTK+ includes a shell script, gtk-config, that makes it easy to find out the correct include paths. The GTK+ tutorial includes an example of using gtk-config for simple compilation from the command line. For information about more complicated configuration, see the file docs/gtk-config.txt in the GTK+ distribution.

If you are trying to compile an old program, you may be able to work around the problem by configuring it with a command line like:

CPPFLAGS="-I/usr/local/include/glib/include" ./configure

for Bourne-compatible shells like bash, or for csh variants:

setenv CPPFLAGS "-I/usr/local/include/glib/include" 
./configure

(Substitute the appropriate value of $exec_prefix for /usr/local.)

2.7 When installing a GTK+ application, configure reports that it can't find GTK.

There are several common reasons for this:

If none of the above help, then have a look in config.log, which is generated by ./configure as it runs. At the bottom will be the last action it took before failing. If it is a section of source code, copy the source code to a file and compile it with the line just above it in config.log. If the compilation is successful, try executing it.


Next Previous Contents