User:Teward/ZNC From Source: CentOS 7
Compiling ZNC from Source on CentOS 7 is non-trivial and requires us to enable EPEL in order to properly get build dependencies, as well as install some tools that may not exist on a standard CentOS box. YMMV here.
The following is a step-by-step guide to get ZNC 1.6.5 to compile properly from source on CentOS 7, for the bare minimum (that is, it does not include the Perl, Python, Cyrus, or TCL build dependency options necessary for some of the optional plugins in ZNC).
NOTE: These instructions all assume you are operating as the system superuser (aka 'root'). If you are not a superuser, but instead use 'sudo', then if you get permission errors you should prepend 'sudo' to the commands listed - but only if you get permission denied errors or such. Alternatively, drop to a 'root' user prompt and execute all these commands.
- Install some dependencies and tools we'll need.
yum install yum-utils wget
- Install the CentOS 7 EPEL repository, so we can get a valid set of build dependencies for ZNC.
wget -O /tmp/epel-release-latest-7.noarch.rpm http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm rpm -ivh /tmp/epel-release-latest-7.noarch.rpm
- Update your
- Install build-dependencies for ZNC, using the existing ZNC package in EPEL as a base for dependencies only.
- Install additional build-environment tools (thank you to this blog post on CyberCiti.biz for installing some dev tools in CentOS7). Just installing the ZNC build dependencies doesn't put everything we need on, so we have to explicitly install things.
yum install autoconf automake gcc gcc-c++ make pkgconfig patch gettext
- Download the ZNC source code from the main page, and extract the data.
- Go into the extracted source directory, and then begin the configuration, compiling, and installation of ZNC. (This set of steps could take some time, especially for compiling.)
./configure make make install
Just a note that when you run
./configure you should see output similar to this, indicating you can install and use it properly:
ZNC 1.6.5 configured prefix: /usr/local debug: no ipv6: yes openssl: yes dns: threads perl: no python: no swig: not needed cyrus: no tcl: no charset: yes zlib: yes run from src: no