User:Donnguyen

From KDE Community Wiki
Revision as of 20:59, 1 September 2016 by Donnguyen (talk | contribs)

Building KDE/Plasma 5 on Ubuntu 14.04 LTS

The aim of this guide is to help you build KDE Plasma 5 for development and/or use. These instructions are valid as of 31 Aug 2016.

Install a recent version of cmake

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

Upgrade libwayland-dev and network-manager from PPA's

Upgrade libwayland-dev and related dependencies:

sudo add-apt-repository ppa:xorg-edgers/ppa 
sudo apt-get update   
sudo apt-get install libwayland-dev 

Upgrade network-manager and related dependencies:

sudo add-apt-repository ppa:9v-shaun-42/networkmanager  
sudo apt-get update 
sudo apt-get install network-manager 
 
Tip
You may lose network connection after this step. Reboot to fix.


Install Qt 5.7.0 using installer

Download and install to default location: /opt/Qt5.7.0

sudo ./qt-opensource-linux-x64-5.7.0.run

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

sudo apt-get build-dep kde-workspace qtbase5-dev

Build Qtwebkit

Install dependencies for building Qtwebkit

sudo apt-get install flex bison gperf libicu-dev libxslt-dev ruby

Install git

sudo apt-get install git

Clone and build qtwebkit

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 

Setup kdesrc-build and .kdesrc-buildrc

Most of this section is taken from https://community.kde.org/Guidelines_and_HOWTOs/Build_from_source

Git remote prefix

Let's setup a "kde:" prefix for git commands. Add the following text to your ~/.gitconfig:

[url "git://anongit.kde.org/"]
   insteadOf = kde:
[url "ssh://[email protected]/"]
   pushInsteadOf = kde:

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:

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 

You will need to append the line

export PATH=~/bin:$PATH

to

~/.bashrc

so kdesrc-build is available in PATH whenever you open a terminal.


Configure kdesrc-build

edit

~/.kdesrc-buildrc

Replace

/path/to/kdesrc-build/kf5-qt5-build-include

with

~/kdesrc/kdesrc-build/kf5-qt5-build-include

in ~/.kdesrc-buildrc file Add

ignore-kde-structure true

and

make-options -jN

to the global section in ~/.kdesrc-buildrc

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  

Set qtdir to output of qmake –v 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 director specified by kdedir!


Setup baloo section to fix compile error

options baloo
    cmake-options -DCMAKE_CXX_FLAGS="-lc"
end options 

kdesrc-build needs xml-parser-perl

sudo apt-get install libxml-parser-perl

Build plasma-desktop

Some more dependencies

sudo apt-get build-dep polkit-qt-1
sudo apt-get install libgif-dev
sudo apt-get install libnm-glib-dev
sudo apt-get install "^libxcb.*" libx11-xcb-dev libglu1-mesa-dev libxrender-dev libxi-dev
sudo apt-get install libattr1-dev
sudo apt-get install liblmdb-dev
sudo apt-get install libxapian-dev

Download and install some packages from Xenial:

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

Build:

kdesrc-build --include-dependencies plasma-desktop

Build some extra applications

kdesrc-build applications

Set up environment to run plasma 5