|
|
Line 1: |
Line 1: |
| = How to build KDE/Plasma 5 on Ubuntu 14.04 LTS =
| | [[/Guidelines_and_HOWTOs/Build_from_source/Test_plasma|Test internal link]] |
| [[/Test new link]] | |
| {{Note|These instructions are valid as of 2 Sep 2016, which will build KDE Frameworks 5.25.0 and Plasma 5.7.90}}
| |
| {{Warning|Since this guide uses packages from Xenial and PPA's, this may cause instability to your system
| |
| }}
| |
| {{Warning|2=Important|1=Building software is not a simple task. If you simply wish to try out Plasma 5, I recommend you look at other methods
| |
| }}
| |
| The aim of this guide is to help you build KDE Plasma 5 for development and/or use. I decided to write a guide specifically for Ubuntu 14.04 because it can be tricky to resolve all of the build dependencies and problems specific to this system.
| |
| Since you will be building out of the master branch, dependencies may change after this guide is written. I will try to update this guide to cover any new dependencies.
| |
| | |
| Most of the instructions in this guide can be cut and pasted. A few steps will require you to edit some files or interact with a GUI.
| |
| | |
| {{Note|Following the instructions in this guide will install Qt to /opt/Qt5.7.0 and kde to /opt/kde-5
| |
| }}
| |
| | |
| == Install a recent version of cmake ==
| |
| You will need to install a more recent version of cmake to build.
| |
| {{Input|1=<nowiki>
| |
| sudo apt-get install build-essential
| |
| wget https://cmake.org/files/v3.6/cmake-3.6.1.tar.gz
| |
| tar -zxvf cmake-3.6.1.tar.gz
| |
| cd cmake-3.6.1/
| |
| ./configure
| |
| make
| |
| sudo apt-get install checkinstall
| |
| sudo checkinstall
| |
| </nowiki>}}
| |
| | |
| == Upgrade libwayland-dev and network-manager from PPA's ==
| |
| Upgrade libwayland-dev and related dependencies:
| |
| {{Input|1=<nowiki>sudo add-apt-repository ppa:xorg-edgers/ppa
| |
| sudo apt-get update
| |
| sudo apt-get install libwayland-dev
| |
| </nowiki>}}
| |
| Upgrade network-manager and related dependencies:
| |
| {{Input|1=<nowiki>sudo add-apt-repository ppa:9v-shaun-42/networkmanager
| |
| sudo apt-get update
| |
| sudo apt-get install network-manager
| |
| </nowiki>}}
| |
| {{Tip|You may lose network connection after this step. Reboot to fix.}}
| |
| | |
| == Install Qt 5.7.0 using Qt offline installer ==
| |
| Download and install Qt 5.7.0 to the default location /opt/Qt5.7.0
| |
| {{Input|1=<nowiki>wget http://download.qt.io/official_releases/qt/5.7/5.7.0/qt-opensource-linux-x64-5.7.0.run
| |
| sudo ./qt-opensource-linux-x64-5.7.0.run</nowiki>}}
| |
| Choose default options and include "Sources" option
| |
| {{Note|On my computer it appears to be stuck at 4%(dialog box doesn't respond), but it installs just fine if I wait.}}
| |
| | |
| == Install some build dependencies ==
| |
| | |
| {{Input|1=<nowiki>sudo apt-get build-dep kde-workspace qtbase5-dev</nowiki>}}
| |
| | |
| == Build Qtwebkit ==
| |
|
| |
| Install dependencies for building Qtwebkit:
| |
| {{Input|1=<nowiki>sudo apt-get install flex bison gperf libicu-dev libxslt-dev ruby</nowiki>}}
| |
| Install git:
| |
| {{Input|1=<nowiki>sudo apt-get install git</nowiki>}}
| |
| Clone and build qtwebkit:
| |
| {{Input|1=<nowiki>git clone git://code.qt.io/qt/qtwebkit.git --branch 5.7.0
| |
| mkdir qtwebkit-build
| |
| cd qtwebkit-build
| |
| /opt/Qt5.7.0/5.7/gcc_64/bin/qmake ../qtwebkit
| |
| make
| |
| sudo make install
| |
| </nowiki>}}
| |
| | |
| == Setup kdesrc-build and .kdesrc-buildrc ==
| |
| kdesrc-build needs xml-parser-perl so install it with the following command:
| |
| {{Input|1=<nowiki>sudo apt-get install libxml-parser-perl</nowiki>}}
| |
| | |
| Most of this section is taken from https://community.kde.org/Guidelines_and_HOWTOs/Build_from_source and copied here for your convenience. Be sure to set qtdir and kdedir as directed at the end of this section.
| |
| | |
| === Git remote prefix ===
| |
| Let's setup a "kde:" prefix for git commands. Add the following text to your ~/.gitconfig:
| |
| <syntaxhighlight lang="ini">
| |
| [url "git://anongit.kde.org/"]
| |
| insteadOf = kde:
| |
| | |
| pushInsteadOf = kde:
| |
| </syntaxhighlight>
| |
| | |
| === Install kdesrc-build ===
| |
| ''kdesrc-build'' is, a user-space package manager, it is used to compile KDE-related projects from source and installs them into a designated directory.
| |
| | |
| Follow the given steps to set up kdesrc-build to install KDevelop into our $HOME directory:
| |
| <pre>
| |
| mkdir ~/kdesrc
| |
| cd ~/kdesrc
| |
| git clone kde:kdesrc-build
| |
| cd kdesrc-build
| |
| cp kdesrc-buildrc-kf5-sample ~/.kdesrc-buildrc
| |
| | |
| # Install a symlink of kdesrc-build to a location in PATH
| |
| mkdir ~/bin
| |
| ln -s $PWD/kdesrc-build ~/bin
| |
| export PATH=~/bin:$PATH
| |
| </pre>
| |
| | |
| You will need to append the line <pre>export PATH=~/bin:$PATH</pre> to <pre>~/.bashrc</pre> so kdesrc-build is available in PATH whenever you open a terminal.
| |
| | |
| | |
| '''Configure kdesrc-build
| |
| '''
| |
| edit<pre>~/.kdesrc-buildrc</pre>
| |
| Replace <pre>/path/to/kdesrc-build/kf5-qt5-build-include</pre> with <pre>~/kdesrc/kdesrc-build/kf5-qt5-build-include</pre> in ~/.kdesrc-buildrc file
| |
| | |
| Add <pre>ignore-kde-structure true</pre> and <pre>make-options -jN</pre> to the global section in ~/.kdesrc-buildrc
| |
| <pre>
| |
| global
| |
| ...
| |
| ignore-kde-structure true
| |
| make-options -j5 # NOTE: 5 is the number of jobs, this should usually be (number-of-cpu-cores + 1)
| |
| #stop-on-failure true # Stop kdesrc-build
| |
| ...
| |
| end global
| |
| </pre>
| |
| | |
| Set qtdir to output of <code>qmake –v</code> minus the lib
| |
| kdedir /opt/kde-5 # Where to install KF5-based software
| |
| qtdir /opt/Qt5.7.0/5.7/gcc_64 # Where to find Qt5
| |
| {{Remember|Make sure you have write access to the directory specified by kdedir!}}
| |
| ===Setup work around for baloo compilation error ===
| |
| Add the following to ~/.kdesrc-buildrc to work around the compilation error with baloo:
| |
| options baloo
| |
| cmake-options -DCMAKE_CXX_FLAGS="-lc"
| |
| end options
| |
| | |
| == Build plasma-desktop ==
| |
|
| |
| Install dependencies to build plasma-desktop:
| |
| {{Input|1=<nowiki>sudo apt-get build-dep polkit-qt-1
| |
| sudo apt-get install libgif-dev libnm-glib-dev "^libxcb.*" libx11-xcb-dev libglu1-mesa-dev libxrender-dev libxi-dev libattr1-dev liblmdb-dev libxapian-dev
| |
| </nowiki>}}
| |
| Download and install some packages from Xenial:
| |
| {{Input|1=<nowiki>mkdir extra-deb
| |
| cd extra-deb
| |
| wget http://mirrors.kernel.org/ubuntu/pool/main/libx/libxkbcommon/libxkbcommon-dev_0.5.0-1ubuntu2_amd64.deb
| |
| wget http://mirrors.kernel.org/ubuntu/pool/main/libx/libxkbcommon/libxkbcommon0_0.5.0-1ubuntu2_amd64.deb
| |
| wget http://mirrors.kernel.org/ubuntu/pool/main/libe/libepoxy/libepoxy-dev_1.3.1-1_amd64.deb
| |
| wget http://mirrors.kernel.org/ubuntu/pool/main/libe/libepoxy/libepoxy0_1.3.1-1_amd64.deb
| |
| dpkg -i *.deb
| |
| </nowiki>}}
| |
| Finally, we can build plasma-desktop:
| |
| {{Input|1=<nowiki>kdesrc-build --include-dependencies plasma-desktop</nowiki>}}
| |
| | |
| == Build some extra applications ==
| |
| You may want to build some base applications and can do so with:
| |
| {{Input|1=<nowiki>
| |
| kdesrc-build applications
| |
| </nowiki>}}
| |
| You can use kdesrc-build to build other applications. For example, to build kdevelop:
| |
| {{Input|1=<nowiki>
| |
| kdesrc-build --include-dependencies kdevelop
| |
| </nowiki>}}
| |
| | |
| | |
| == Set up environment to run plasma 5 ==
| |
| Follow this guide to test your plasma 5 build: https://community.kde.org/Guidelines_and_HOWTOs/Build_from_source/Test_plasma
| |