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 8.3.0.20190709-git distribution is in the gdb-8.3.0.20190709-git directory. That directory contains:
gdb-8.3.0.20190709-git/configure
(and supporting files)gdb-8.3.0.20190709-git/gdb
gdb-8.3.0.20190709-git/bfd
gdb-8.3.0.20190709-git/include
gdb-8.3.0.20190709-git/libiberty
gdb-8.3.0.20190709-git/opcodes
gdb-8.3.0.20190709-git/readline
There may be other subdirectories as well.
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-8.3.0.20190709-git 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-8.3.0.20190709-git ./configure make
Running ‘configure’ and then running make
builds the
included supporting 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
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. The best way to do this
is to pass the --prefix
option to configure
, and then
install it with make install
.