RTEMS Logo

RTEMS 4.9.2 On-Line Library


Using RPM to Build GDB

PREV UP NEXT Bookshelf Getting Started with RTEMS

4.2.4.1: Using RPM to Build GDB

This section describes the process of building binutils, gcc, and newlib using RPM. RPM is a packaging format which can be used to distribute binary files as well as to capture the procedure and source code used to produce those binary files. Before attempting to build any RPM from source, it is necessary to ensure that all required source and patches are in the SOURCES directory under the RPM root (probably /usr/src/redhat or /usr/local/src/redhat) on your machine. This procedure starts by installing the source RPMs as shown in the following example:

rpm -U rtems-4.9-i386-rtems4.9-gdb-6.8-4.src.rpm

Because RTEMS tool RPMS are called "nosrc" to indicate that one or more source files required to produce the RPMs are not present. The RTEMS source GDB RPM does not include the large .tar.gz or .tgz files for GDB. This is shared by all RTEMS RPMs regardless of target CPU and there was no reason to duplicate them. You will have to get the required source archive files by hand and place them in the SOURCES directory before attempting to build. If you forget to do this, RPM is smart -- it will tell you what is missing. To determine what is included or referenced by a particular RPM, use a command like the following:

$ rpm -q -l -p rtems-4.9-i386-rtems4.9-gdb-6.8-4.src.rpm
gdb-6.8-rtems4.9-rtems4.9-20080917.diff
gdb-6.8.tar.gz
i386-rtems4.9-gdb-6.8.spec

Notice that there is a patch file (the .diff file), a source archive file (the .tar.gz), and a file describing the build procedure and files produced (the .spec file). The .spec file is placed in the SPECS directory under the RPM root directory.

Configuring and Building GDB using RPM

The following example illustrates the invocation of RPM to build a new, locally compiled, binutils binary RPM that matches the installed source RPM. This example assumes that all of the required source is installed.

cd <RPM_ROOT_DIRECTORY>/SPECS
rpm -bb i386-rtems4.9-gdb-6.8.spec

If the build completes successfully, RPMS like the following will be generated in a build-host architecture specific subdirectory of the RPMS directory under the RPM root directory.

rtems-4.9-gdb-common-6.8-4.i386.rpm
rtems-4.9-i386-rtems4.9-gdb-6.8-4.i386.rpm

NOTE: It may be necessary to remove the build tree in the BUILD directory under the RPM root directory.


PREV UP NEXT Bookshelf Getting Started with RTEMS

Copyright © 1988-2008 OAR Corporation