gdb.info: Installing GDB

Go forward to Maintenance Commands
Go backward to Using History Interactively
Go up to Top
Go to the top op gdb

Installing GDB

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 6.2.1 distribution is in the
`gdb-6.2.1' directory.  That directory contains:
`gdb-6.2.1/configure (and supporting files)'
     script for configuring GDB and all its supporting libraries
`gdb-6.2.1/gdb'
     the source specific to GDB itself
`gdb-6.2.1/bfd'
     source for the Binary File Descriptor library
`gdb-6.2.1/include'
     GNU include files
`gdb-6.2.1/libiberty'
     source for the `-liberty' free software library
`gdb-6.2.1/opcodes'
     source for the library of opcode tables and disassemblers
`gdb-6.2.1/readline'
     source for the GNU command-line interface
`gdb-6.2.1/glob'
     source for the GNU filename pattern-matching subroutine
`gdb-6.2.1/mmalloc'
     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-6.2.1' 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-6.2.1
     ./configure HOST
     make
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-6.2.1'
source directory for version 6.2.1, `configure' creates configuration
files for every directory level underneath (unless you tell it not to,
with the `--norecursion' option).
   You should run the `configure' script from the top directory in the
source tree, the `gdb-VERSION-NUMBER' directory.  If you run
`configure' from one of the subdirectories, you will configure only
that subdirectory.  That is usually not what you want.  In particular,
if you run the first `configure' from the `gdb' subdirectory of the
`gdb-VERSION-NUMBER' directory, you will omit the configuration of
`bfd', `readline', and other sibling directories of the `gdb'
subdirectory.  This leads to build errors about missing include files
such as `bfd/bfd.h'.
   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.