Installing dependencies on CentOS

Instructions are available for installing dependencies on CentOS 6 and 7.

CentOS 7

The following instructions are for CentOS 7 x86_64 (HandBrake CLI only).

Dependencies:

Additional dependencies not available in the base repository:

Install dependencies.

sudo yum groupinstall "Development Tools" "Additional Development"
sudo yum install fribidi-devel jansson-devel libogg-devel libsamplerate-devel libtheora-devel libvorbis-devel opus-devel

Install the EPEL repository and related additional dependencies.

sudo yum install epel-release
sudo yum install libass-devel yasm

Install the ZMREPO repository and related additional dependencies.

sudo yum localinstall --nogpgcheck https://zmrepo.zoneminder.com/el/7/x86_64/zmrepo-7-7.el7.centos.noarch.rpm
sudo yum install lame-devel x264-devel

CentOS is now prepared to build the HandBrake CLI. See Building HandBrake for Linux for further instructions.

CentOS 6

The following instructions are for CentOS 6 x86_64 (HandBrake CLI only).

Dependencies:

Additional dependencies not available in the base repository:

Install dependencies.

sudo yum groupinstall "Development tools" "Additional Development"
sudo yum install cmake libicu-devel libogg-devel libsamplerate-devel libtheora-devel libvorbis-devel

Install the Software Collections (SCL) repository and Python 2.7.x1.

sudo yum install centos-release-scl
sudo yum install python27 python27-python-devel python27-python-setuptools python27-python-tools python27-python-virtualenv

Install the EPEL repository and related additional dependencies.

sudo yum install epel-release
sudo yum install fribidi-devel jansson-devel libass-devel opus-devel yasm

Install the RPM Fusion Free repository and related additional dependencies.

sudo yum localinstall --nogpgcheck https://download1.rpmfusion.org/free/el/updates/6/x86_64/rpmfusion-free-release-6-1.noarch.rpm
sudo yum install lame-devel x264-devel

Download the HarfBuzz spec file from the CentOS 7 rpms/harfbuzz git repository and remove the graphite2-devel dependency.

sudo mkdir -p /root/rpmbuild/SPECS
sudo curl -o /root/rpmbuild/SPECS/harfbuzz.spec 'https://git.centos.org/raw/rpms!harfbuzz.git/f5bd1f4920ed0fc56cd21547294f7c34deeb4e4f/SPECS!harfbuzz.spec'
sudo sed -i'' -e '/BuildRequires:[ ]*graphite2-devel/d' -e '/%configure/s/ --with-graphite2//' /root/rpmbuild/SPECS/harfbuzz.spec

Download, build, and install HarfBuzz (provides the harfbuzz-devel package).

sudo mkdir -p /root/rpmbuild/SOURCES
sudo curl -o /root/rpmbuild/SOURCES/harfbuzz-0.9.36.tar.bz2 'https://www.freedesktop.org/software/harfbuzz/release/harfbuzz-0.9.36.tar.bz2'
sudo rpmbuild -ba /root/rpmbuild/SPECS/harfbuzz.spec
sudo yum localinstall /root/rpmbuild/RPMS/x86_64/harfbuzz-*.rpm

CentOS is now prepared to build the HandBrake CLI. See Building HandBrake for Linux for further instructions.


  1. Installing Python from CentOS SCL does not impact the default system Python; newer versions are installed alongside and in addition to the system version.