Jump to content

Guidelines and HOWTOs/Build from source/Install the dependencies: Difference between revisions

From KDE Community Wiki
Mpyne (talk | contribs)
Try to clarify that Boost 1.55 or better is needed. I'm not sure how best to encode that in an apt-get package syntax though... See KDE bug 360055.
Nmariusp (talk | contribs)
Redirect
Tag: New redirect
 
(176 intermediate revisions by 54 users not shown)
Line 1: Line 1:
In the following we give the dependencies to install. However it might change and this page might be quickly outdated.
#REDIRECT [[Get Involved/development/Install_the_dependencies]]
 
Reading the <code>CMakeLists.txt</code> of the packages you want to install should help you finding what you '''really''' need to install.
 
== For the frameworks ==
=== deb-based distributions (Debian, Kubuntu...) ===
<pre  style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: normal;">$ sudo apt-get build-dep qtbase5-dev
$ sudo apt-get install libbz2-dev libxslt-dev libxml2-dev shared-mime-info oxygen-icon-theme libgif-dev libvlc-dev libvlccore-dev doxygen gperf bzr libxapian-dev fontforge libgcrypt20-dev libattr1-dev network-manager-dev libgtk-3-dev xsltproc xserver-xorg-dev xserver-xorg-input-synaptics-dev libpwquality-dev modemmanager-dev libxcb-keysyms1-dev libepoxy-dev libpolkit-agent-1-dev libnm-util-dev libnm-glib-dev libegl1-mesa-dev libxcb-xkb-dev libqt5x11extras5-dev libwww-perl libxml-parser-perl libjson-perl libboost1.55-dev libgstreamer-plugins-base1.0-dev libgstreamer1.0-dev libarchive-dev liblmdb-dev
</pre>
 
If you receive errors regarding "libboost1.55-dev" on recent versions of your distribution, try installing "libboost-dev" instead, which should install a more recent (but still compatible) version of Boost. Older deb-based distributions require at least Boost 1.55 however.
 
===  openSUSE ===
 
===== openSUSE 13.2 (outdated) =====
 
All the necessary dependencies:
<pre  style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: normal;">$ sudo zypper si -d libqt5-qtbase
$ sudo zypper in libbz2-devel libxslt-devel libxml2-devel shared-mime-info oxygen-icon-theme giflib-devel vlc-devel doxygen gstreamer-0_10-devel gstreamer-0_10-plugins-base-devel docbook-xml-slides docbook-xsl-stylesheets xcb-util-keysyms-devel perl-JSON boost-devel libxcb-devel libXrender-devel xcb-util-wm-devel xcb-util-devel xcb-util-image-devel gettext-tools libepoxy-devel
$ sudo zypper in gtk3-devel # for kde-gtk-config
$ sudo zypper in grantlee5 # for kdevplatform
$ sudo zypper in libkdcraw-devel liblcms2-devel # for gwenview
</pre>
Optional for kdeplasma-addons: libibus >=1.4.2 (see http://software.opensuse.org/package/libibus-1_0-5)
 
===== openSUSE 42.1 =====
 
Install these packages (including the recommended packages):
 
<pre  style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: normal;">
$ sudo zypper install git-core bzr ninja \
gettext-tools libqt5-qttools libgypsy0 libqt5-creator libqt5-linguist libqt5-qtbase-common-devel libqt5-qtbase-devel libqt5-qtbase-doc libqt5-qtbase-examples libqt5-qtdeclarative-devel libqt5-qtdeclarative-examples libqt5-qtdeclarative-tools libqt5-qtdoc libqt5-qtgraphicaleffects libqt5-qtimageformats libqt5-qtimageformats-devel libqt5-qtmultimedia-devel libqt5-qtmultimedia-examples libqt5-qtquick1-devel libqt5-qtquickcontrols libqt5-qtscript-devel libqt5-qtscript-examples libqt5-qtsvg-devel libqt5-qttools-devel libqt5-qtx11extras-devel libqt5-qtxmlpatterns-devel libqt5-qtxmlpatterns-examples libQt5CLucene5 libQt5Concurrent-devel libQt5Concurrent5 libQt5Core-devel libQt5Core5 libQt5DBus-devel libQt5DBus5 libQt5Declarative5 libQt5Designer5 libQt5DesignerComponents5 libQt5Gui-devel libQt5Gui5 libQt5Help5 libQt5Multimedia5 libQt5Network-devel libQt5Network5 libQt5OpenGL-devel libQt5OpenGL5 libQt5Positioning5 libQt5PrintSupport-devel libQt5PrintSupport5 libQt5Script5 libQt5Sensors5 libQt5Sql-devel libQt5Sql5 libQt5Sql5-mysql libQt5Sql5-postgresql libQt5Sql5-sqlite libQt5Sql5-unixODBC libQt5Svg5 libQt5Test-devel libQt5Test5 libQt5WebKit5 libQt5WebKitWidgets5 libQt5Widgets-devel libQt5Widgets5 libQt5X11Extras5 libQt5Xml-devel libQt5Xml5 libQt5XmlPatterns5 libQtQuick5 libQt5WebKitWidgets-devel libqt5-qtbase-private-headers-devel \
xcb-util-keysyms-devel docbook-xsl-stylesheets doxygen polkit-devel libepoxy-devel boost-devel libXcursor-devel libSM-devel giflib-devel libaccounts-qt5-devel gtk3-devel libpng16-devel fltk-devel libopenssl-devel libattr-devel ModemManager-devel NetworkManager-devel wayland-devel lmdb-devel xcb-proto-devel xcb-util-image-devel xcb-util-cursor-devel xcb-util-devel gtk2-devel libqca-qt5-devel libpwquality-devel libical-devel PackageKit-Qt5-devel pam-devel
</pre>
 
* OPEN ISSUES:
** on my system 'ninja-1.6.0' was installed and when using 'custom-build-command ninja' in the kdesrc-buildrc below, the build of modules fails), maybe see https://bugs.kde.org/show_bug.cgi?id=331654
 
* Failing modules (of more than 200 modules)
** phonon-vlc, phonon-gstreamer, plasma-pa (PulseAudio missing), kdevplatform, plasma-desktop, kaccounts-integration, kaccounts-mobile, gwenview, kdevelop, libksane, skanlite, ...
 
=== Fedora===
All the dependencies used for building frameworks can be installed by running:
<pre  style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: normal;">
$ sudo yum-builddep qt phonon-backend-vlc phonon-backend-gstreamer
$ sudo yum install gcc-c++ ruby doxygen git bzr flex bison gperf socat boost-devel bzip2-devel libxslt-devel libxml2-devel shared-mime-info oxygen-icon-theme giflib-devel xcb-util-keysyms-devel perl-JSON perl-Pod-Usage "*xcb*-devel" perl-XML-Parser NetworkManager-glib-devel xapian-core-devel libxkbcommon-devel libxkbcommon-x11-devel  systemd-devel libwayland-cursor-devel libwayland-server-devel libepoxy-devel gtk3-devel sane-backends-devel libattr-devel libcanberra-devel libusb-devel libxkbfile-devel fontforge-devel libical-devel gpgme-devel cyrus-sasl-devel openldap-devel libpwquality-devel polkit-devel lmdb-devel
</pre>
 
=== Arch Linux===
All the dependencies used for building frameworks can be installed by running:
<pre  style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: normal;">
$ sudo pacman -Sy --needed phonon-qt5 qt5-webkit qt5-script qt5-svg qt5-tools qt5-x11extras enchant jasper openexr libutempter docbook-xsl shared-mime-info giflib libxss upower udisks2 bzr git doxygen perl-json perl-libwww perl-xml-parser akonadi xorg-server-devel libpwquality fontforge eigen libfakekey qca-qt5 xapian-core xsd
</pre>
 
== For the Frameworks, Plasma, and most of the applications  ==
Plasma 5 will need various dependencies to be installed. You can find a list of dependencies for atleast the frameworks [https://community.kde.org/Frameworks/Building#Dependencies here]. Any other dependencies can be figured out and installed as you continue building the modules one by one.
 
At the very minimum, <code>qt5</code>, <code>cmake</code>, <code>g++</code>, <code>git</code>, <code>bzr</code>, <code>libwww-perl</code>, <code>libjson-perl</code> and <code>libxml-parser-perl</code>  needs to be installed to get started.
 
===Kubuntu===
 
{{warning| Building Plasma using these instructions does not work on Kubuntu due to the way they have incorrectly set up Qt.
Please use any non Debian based distro}}
 
For Kubuntu 15.04, here's a list of packages that should satisfy all the dependencies of the default kdesrc-build projects, including Frameworks, Applications and Plasma Workspace but excluding kdegames. Just copy-paste this to your terminal: <pre  style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: normal;">sudo apt-get install libxslt1-dev libpolkit-agent-1-dev libpolkit-gobject-1-dev libpolkit-backend-1-dev debhelper dh-apparmor icu-devtools libboost1.55-dev libcln-dev libglib2.0-dev libgmp-dev libgmpxx4ldbl libgps-dev libicu-dev libqalculate-dev libqimageblitz-dev libqt5sensors5 libqt5sensors5-dev libqt5webkit5-dev libqt5x11extras5-dev libraw1394-dev libudev-dev libusb-dev libxapian-dev libxcb-composite0-dev libxcb-cursor-dev libxcb-cursor0 libxcb-damage0-dev libxcb-dpms0 libxcb-dpms0-dev libxcb-ewmh-dev libxcb-ewmh2 libxcb-icccm4-dev libxcb-image0-dev libxcb-keysyms1-dev libxcb-record0-dev libxcb-render-util0-dev libxcb-res0 libxcb-res0-dev libxcb-screensaver0 libxcb-screensaver0-dev libxcb-shm0-dev libxcb-util0-dev libxcb-xevie0 libxcb-xevie0-dev libxcb-xf86dri0 libxcb-xf86dri0-dev libxcb-xinerama0 libxcb-xinerama0-dev libxcb-xkb-dev libxcb-xprint0 libxcb-xprint0-dev libxcb-xtest0-dev libxcb-xv0 libxcb-xv0-dev libxcb-xvmc0 libxcb-xvmc0-dev libxml2-dev pkg-kde-tools po-debconf qttools5-dev xcb-proto xvfb qtscript5-dev qtdeclarative5-dev qtbase5-dev qtbase5-dev-tools qt5-qmake doxygen bzr libjson-perl perl-modules cmake cmake-data libapr1 libaprutil1 libserf-1-1 libsvn1 libxml-parser-perl subversion git build-essential libqt5svg5-dev libgpgme11-dev libgcrypt20-dev libepoxy-dev  libssl-dev libjpeg-dev libjpeg-turbo8-dev libjpeg8-dev libgif-dev qtbase5-private-dev qtxmlpatterns5-dev-tools libqt5xmlpatterns5-dev libqt5xmlpatterns5-private-dev libvlc-dev libvlccore-dev gir1.2-gst-plugins-base-1.0 gir1.2-gstreamer-1.0 libasound2-dev libgstreamer-plugins-base1.0-dev libgstreamer1.0-dev libnm-util-dev libnm-glib-dev libattr1-dev qtquick1-5-dev libgrantlee5-dev liblcms2-dev libexiv2-dev libarchive-dev libcups2-dev libfakekey-dev libpam-dev libxrender-dev libpng-dev libxcursor-dev liblmdb-dev libsm-dev</pre>
 
===Arch===
For Arch, here's a list of packages that should satisfy all the dependencies of the default kdesrc-build projects, including Frameworks, Applications and Plasma Workspace but excluding kdegames. Just copy-paste this to your terminal: <pre  style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: normal;">
sudo pacman -S base-devel bzr cmake perl-libwww perl-xml-parser perl-json git qt5-tools docbook-xml docbook-xsl python2 boost modemmanager networkmanager vlc xapian-core xorg-server-devel doxygen
</pre>

Latest revision as of 06:49, 9 February 2023