# 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.
