Building the RPMs - UG1586

Onload User Guide (UG1586)

Document ID
UG1586
Release Date
2025-11-03
Revision
1.31 English

You can build the following RPMs from the supplied source RPM:

enterpriseonload-<version>.x86_64.rpm
Onload user-space runtime. Required to run Onload, together with one of the kernel module RPMs (kmod, dkms, or akmod).
enterpriseonload-kmod-<kernel>-<version>.x86_64.rpm
Onload kernel modules. Required if you want to maintain the kernel modules yourself.
enterpriseonload-dkms-<version>.noarch.rpm
Onload kernel modules as DKMS source. Required if you have DKMS and want it to maintain the kernel modules.
enterpriseonload-akmod-<version>.noarch.rpm
Onload kernel modules as Akmod source. Required if you have Akmods and want it to maintain the kernel modules.
enterpriseonload-devel-<version>.noarch.rpm
Onload development header files. Required to build ef_vi or TCPDirect applications, and to use the Onload Control Plane API or the Onload Extensions API.
enterpriseonload-examples-<version>.x86_64.rpm
Onload example applications. Required to use the Onload example applications.

To build the RPMs:

  • As root:
    rpmbuild --rebuild enterpriseonload-<version>.src.rpm
  • As a non-root user, you should define _topdir to ensure you build the RPMs into a directory for which you have write permission. The directory structure must pre-exist for the rpmbuild command to succeed:
    mkdir -p /tmp/myrpm/{SOURCES,BUILD,RPMS,SRPMS}
    rpmbuild --define "_topdir /tmp/myrpm" \
             --rebuild enterpriseonload-<version>.src.rpm
  • To suppress building RPMs that you do not require, add the following options to the rpmbuild command line as necessary:
    --without user
    --without kmod
    --without dkms
    --without akmod
    --without devel
    --without examples
Note: Refer to Build Dependencies for details of build dependencies.

On some non-standard kernels the rpmbuild might fail because of build dependencies. In this event, fix the missing build dependencies, and then retry.

Find the output RPM files in one of the following directories:

  • $HOME/rpmbuild/RPMS/ (when _topdir was not defined in the rpmbuild command line).
  • <_topdir>/RPMS/x86_64/ (when _topdir was defined in the rpmbuild command line).

For example, the user-space components:

~/rpmbuild/RPMS/x86_64/enterpriseonload-<version>.x86_64.rpm

and the kernel components:

~/rpmbuild/RPMS/x86_64/enterpriseonload-kmod-2.6.18-92.el5-<version>.x86_64.rpm