From 62e38804b1d4e0688a0131ca72d681ad42751309 Mon Sep 17 00:00:00 2001 From: Bradley Sepos Date: Tue, 1 Jan 2019 21:57:35 -0500 Subject: [PATCH] docs: Add GTK GUI instructions to CentOS build docs. Requires newer GCC than provided by the base repository. See https://github.com/HandBrake/HandBrake/issues/1711. --- .../install-dependencies-centos.markdown | 30 ++++++++++++++++++- .../install-dependencies-centos.markdown | 30 ++++++++++++++++++- 2 files changed, 58 insertions(+), 2 deletions(-) diff --git a/source/docs/en/1.2.0/developer/install-dependencies-centos.markdown b/source/docs/en/1.2.0/developer/install-dependencies-centos.markdown index b40717b4..3cb5ee70 100644 --- a/source/docs/en/1.2.0/developer/install-dependencies-centos.markdown +++ b/source/docs/en/1.2.0/developer/install-dependencies-centos.markdown @@ -18,7 +18,7 @@ Installing dependencies on CentOS ## CentOS 7 -The following instructions are for [CentOS](https://centos.org) 7.5 x86_64 (HandBrake [CLI](abbr:Command Line Interface) only). +The following instructions are for [CentOS](https://centos.org) 7.6 x86_64. Basic requirements to run commands: @@ -41,6 +41,7 @@ Dependencies: Additional dependencies not available in the base repository: +- devtoolset-7 [SCL] (optional/recommended for HandBrake [CLI](abbr:Command Line Interface)) - lame-devel [RPM Fusion] - libass-devel [EPEL] - nasm [NASM] @@ -48,6 +49,21 @@ Additional dependencies not available in the base repository: - x264-devel [RPM Fusion] - yasm [EPEL] +Graphical interface dependencies: + +- dbus-glib-devel +- gstreamer1-devel +- gstreamer1-plugins-base-devel +- intltool +- libgudev1-devel +- libnotify-devel +- webkitgtk4-devel + +Additional graphical interface dependencies not available in the base repository: + +- devtoolset-7 [SCL] +- gstreamer1-libav [RPM Fusion] + Install dependencies. sudo yum update @@ -79,8 +95,20 @@ Install the [RPM Fusion](http://rpmfusion.org) Free repository and related addit sudo yum localinstall --nogpgcheck https://download1.rpmfusion.org/free/el/rpmfusion-free-release-7.noarch.rpm sudo yum install lame-devel x264-devel +The GNU Compiler Collection and related packages provided by CentOS 7 are old. Install and enable a newer version provided by Software Collections (SCL)[^gcc-scl]. This is recommended for building the HandBrake [CLI](abbr:Command Line Interface) and required for building the GTK [GUI](abbr:Graphical User Interface). + + sudo yum install centos-release-scl + sudo yum install devtoolset-7 + sudo scl enable devtoolset-7 bash + +To build the GTK [GUI](abbr:Graphical User Interface), install the graphical interface dependencies. + + sudo yum install dbus-glib-devel gstreamer1-devel gstreamer1-libav gstreamer1-plugins-base-devel intltool libgudev1-devel libnotify-devel webkitgtk4-devel + CentOS is now prepared to build the HandBrake [CLI](abbr:Command Line Interface). See [Building HandBrake for Linux](build-linux.html) for further instructions. [^opus-el6]: Installing newer packages than those available in the base repository may lead to incompatibility with other software expecting specific package versions. [^nasm-repo]: Installing newer packages than those available in the base repository may lead to incompatibility with other software expecting specific package versions. + +[^gcc-scl]: SCL packages are isolated from base repository versions of similar packages. You can enable and disable these packages using the `scl` command line tool. For example, disable newer developer tools after compiling HandBrake by running `sudo scl disable devtoolset-7 bash`. diff --git a/source/docs/en/latest/developer/install-dependencies-centos.markdown b/source/docs/en/latest/developer/install-dependencies-centos.markdown index 9a25f1b9..709fed3b 100644 --- a/source/docs/en/latest/developer/install-dependencies-centos.markdown +++ b/source/docs/en/latest/developer/install-dependencies-centos.markdown @@ -18,7 +18,7 @@ Installing dependencies on CentOS ## CentOS 7 -The following instructions are for [CentOS](https://centos.org) 7.5 x86_64 (HandBrake [CLI](abbr:Command Line Interface) only). +The following instructions are for [CentOS](https://centos.org) 7.6 x86_64. Basic requirements to run commands: @@ -41,6 +41,7 @@ Dependencies: Additional dependencies not available in the base repository: +- devtoolset-7 [SCL] (optional/recommended for HandBrake [CLI](abbr:Command Line Interface)) - lame-devel [RPM Fusion] - libass-devel [EPEL] - nasm [NASM] @@ -48,6 +49,21 @@ Additional dependencies not available in the base repository: - x264-devel [RPM Fusion] - yasm [EPEL] +Graphical interface dependencies: + +- dbus-glib-devel +- gstreamer1-devel +- gstreamer1-plugins-base-devel +- intltool +- libgudev1-devel +- libnotify-devel +- webkitgtk4-devel + +Additional graphical interface dependencies not available in the base repository: + +- devtoolset-7 [SCL] +- gstreamer1-libav [RPM Fusion] + Install dependencies. sudo yum update @@ -79,8 +95,20 @@ Install the [RPM Fusion](http://rpmfusion.org) Free repository and related addit sudo yum localinstall --nogpgcheck https://download1.rpmfusion.org/free/el/rpmfusion-free-release-7.noarch.rpm sudo yum install lame-devel x264-devel +The GNU Compiler Collection and related packages provided by CentOS 7 are old. Install and enable a newer version provided by Software Collections (SCL)[^gcc-scl]. This is recommended for building the HandBrake [CLI](abbr:Command Line Interface) and required for building the GTK [GUI](abbr:Graphical User Interface). + + sudo yum install centos-release-scl + sudo yum install devtoolset-7 + sudo scl enable devtoolset-7 bash + +To build the GTK [GUI](abbr:Graphical User Interface), install the graphical interface dependencies. + + sudo yum install dbus-glib-devel gstreamer1-devel gstreamer1-libav gstreamer1-plugins-base-devel intltool libgudev1-devel libnotify-devel webkitgtk4-devel + CentOS is now prepared to build the HandBrake [CLI](abbr:Command Line Interface). See [Building HandBrake for Linux](build-linux.html) for further instructions. [^opus-el6]: Installing newer packages than those available in the base repository may lead to incompatibility with other software expecting specific package versions. [^nasm-repo]: Installing newer packages than those available in the base repository may lead to incompatibility with other software expecting specific package versions. + +[^gcc-scl]: SCL packages are isolated from base repository versions of similar packages. You can enable and disable these packages using the `scl` command line tool. For example, disable newer developer tools after compiling HandBrake by running `sudo scl disable devtoolset-7 bash`.