Home Debugging with GDB www.imodulo.com · 2003-04-05

Installing GDB

[ Up: Top ]
[ Previous: Using History Interactively ][ Next: Maintenance Commands ]

GDB comes with a configure script that automates the process of preparing GDB for installation; you can then use make to build the gdb program.

The GDB distribution includes all the source code you need for GDB in a single directory, whose name is usually composed by appending the version number to gdb.

For example, the GDB version 5.3 distribution is in the gdb-5.3 directory. That directory contains:

gdb-5.3/configure (and supporting files)

script for configuring GDB and all its supporting libraries


the source specific to GDB itself


source for the Binary File Descriptor library


gnu include files


source for the -liberty free software library


source for the library of opcode tables and disassemblers


source for the gnu command-line interface


source for the gnu filename pattern-matching subroutine


source for the gnu memory-mapped malloc package

The simplest way to configure and build GDB is to run configure from the gdb-version-number source directory, which in this example is the gdb-5.3 directory.

First switch to the gdb-version-number source directory if you are not already in it; then run configure. Pass the identifier for the platform on which GDB will run as an argument.

For example:

cd gdb-5.3
./configure host

where host is an identifier such as sun4 or decstation, that identifies the platform where GDB will run. (You can often leave off host; configure tries to guess the correct value by examining your system.)

Running configure host and then running make builds the bfd, readline, mmalloc, and libiberty libraries, then gdb itself. The configured source files, and the binaries, are left in the corresponding source directories.

configure is a Bourne-shell (/bin/sh) script; if your system does not recognize this automatically when you run a different shell, you may need to run sh on it explicitly:

sh configure host

If you run configure from a directory that contains source directories for multiple libraries or programs, such as the gdb-5.3 source directory for version 5.3, configure creates configuration files for every directory level underneath (unless you tell it not to, with the -norecursion option).

You can run the configure script from any of the subordinate directories in the GDB distribution if you only want to configure that subdirectory, but be sure to specify a path to it.

For example, with version 5.3, type the following to configure only the bfd subdirectory:

cd gdb-5.3/bfd
../configure host

You can install gdb anywhere; it has no hardwired paths. However, you should make sure that the shell on your path (named by the SHELL environment variable) is publicly readable. Remember that GDB uses the shell to start your program--some systems refuse to let GDB debug child processes whose programs are not readable.