Product SiteDocumentation Site

19.2.6. Compiling RPM

After downloading the RPM sources, extracting all the files and installing all the prerequisite libraries, you are ready to start compiling RPM.
RPM includes quite a few subsystems, such as popt for parsing command-line options. Each of these subsystems requires some configuration. Most of this configuration is automated through the use of the script and the autoconf/automake tool used to create configure scripts.
The script is a Bourne shell script that checks for specific versions of necessary tools and libraries. After checking dependencies, the script calls different scripts in the beecrypt, libelf, popt, and zlib directories. When done with that task, the script calls configure.
Pass a command-line option of --noconfigure to disable the call to configure.
Edit the script if you are using different versions of the necessary tools. The script is coded to require the specific versions of these tools as were used originally to build the RPM package. In addition, your system may have libraries stored in different locations than those expected by the, so it's a good idea to edit this script and verify all the assumptions.
One really big assumption in this script is that you have a Unix-like operating system. If not, you will need to determine how to set up the Makefiles manually. This requires a lot of trial and error while you edit the Makefiles and then see if you can build the software. Fix each problem that arises and try again.
When you are done with the script, you can use the following basic commands to create system-specific Makefiles, compile RPM and install the commands:
$ ./configure
$ make
$ make install
The configure script takes the files and uses these files as templates to create custom versions of files, tuned to your system. (The automake system starts with a file, creates an expanded file, and finally results in a Makefile tuned to your system.) If all else fails, you can copy each file to Makefile and then edit the Makefile to make one that will work on your system.
Cross Reference
See the GNU site, at, for more on the autoconf and automake tools.
If the make install step fails, you can manually copy the RPM executables and scripts to a directory for system commands.