# How can I build a binary RPM package for my specific Linux platform?

**NOTE: this article may contain outdated information which may not be applicable with modern versions of RPM build tools.**

Building an OpenVPN binary RPM package requires these RPM prerequisites:

- **openssl**
- **openssl-devel**
- **lzo**
- **lzo-devel**

The **openssl** package is almost always installed by default on Linux distributions. The **openssl-devel** package is almost always available on Linux distributions, but is sometimes not installed by default. The **lzo** and **lzo-devel** packages are usually included in more recent Linux distributions but must be installed manually. See the [Dag Wieers](http://dag.wieers.com/rpm/packages/lzo/) site for a comprehensive set of LZO RPMs for Red Hat and Fedora.

Once the prerequisite binary RPMs are in place, building an OpenVPN binary RPM is quite straightforward:

```
rpmbuild -tb [OpenVPN .tar.gz file]
```

You will see a lot of lines of output as **rpmbuild** compiles OpenVPN, but check near the end of the output for a line which looks like this:

```
Wrote: /usr/src/packages/RPMS/i586/openvpn-2.0_rc18-1.i586.rpm
```

This tells you where **rpmbuild** wrote the binary RPM file. Now, use:

```
rpm -ivh [OpenVPN .rpm file]
```

to do a fresh install of OpenVPN, or

```
rpm -Uvh [OpenVPN .rpm file]
```

to upgrade an existing installation.
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9