Schedules/KDE4/4.2 Requirements

From KDE Community Wiki

KDE 4.2 Compilation Requirements -- intended to be a comprehensive list of all external software needed to build a full-featured KDE 4.2.

Compilers

Compiler Requirements. KDE is designed to be portable and hence to compile with a large variety of GNU/Linux, UNIX, Windows and MacOS compilers. However, KDE is advancing very rapidly and the ability of native compilers on various systems to compile KDE depends on users of those systems reporting compile problems to the responsible developers.

In addition, the C++ implementation in gcc, the most popular KDE compiler, has been advancing rapidly, and has also recently undergone a major redesign. As a result, KDE will not compile properly with older versions of gcc or their newest unreleased version.

Compiler support table
Compiler Version Status Comment
gcc 3.2 and older Not supported
3.3 Supported
3.4 Supported
4.0 Supported gcc 4.0.0 is not supported
4.1 Supported
4.2 Supported
4.3 Supported
Microsoft VisualStudio 6.0 Not supported
.NET 2002 Not supported
.NET 2003 Supported
(.NET )2005 Supported Including the Express version
(.NET )2008 Supported Including the Express version
SunStudio 11 Not supported
12 Supported See KDE on Solaris for more information

Buildsystem

Platform Package Level Description Explanation Modules
ALL CMake >= 2.6.2 Required CMake is a cross-platform make system used that forms the basis of the KDE4 buildsystem. CMake is required to build all KDE4 code on all platforms. ALL
Linux, Unix Make or GNU Make Required Make is a tool which controls the generation of executables and other non-source files of a program from the program's source files. Any version shipped with your operating system should be ok. ALL

Software Requirements, by Function

Basic

Package Level Description Explanation Modules
Qt 4.4
>= 4.4.3
Required Qt is the C++ cross-platform GUI toolkit upon which the great majority of KDE is built. Qt is required by all KDE4 code. ALL
Shared-Mime-Info >= 0.20 Required The freedesktop.org shared MIME database ALL
FreeType Recommended A Free, High-Quality, and Portable Font Engine Better DVI support in okular kdegraphics

Help

Package Level Description Explanation Modules
libxml2 >= 2.4.8 Recommended Libxml provides an XML parser and toolkit. XML is a metalanguage to design markup languages, such as HTML. Libxml is used for reading KDE documentation. Note that even though earlier versions of libxml2 may work, versions 2.4.26 through 2.4.28 have a bug which prevents their use in KDE. kdelibs,
kdepimlibs,
kdebase,
kdeadmin,
kdeartwork,
kdebindings,
kdeedu,
kdegames,
kdegraphics,
kdemultimedia,
kdenetwork,
kdepim,
kdesdk,
kdetoys,
kdeutils,
koffice,
kdevelop

Hardware

Package Level Description Explanation Modules
CUPS >= 1.1.9 Optional CUPS (the Common Unix Printing System) is a modern printing architecture for UNIX systems. CUPS provides enhanced printing administration, printing options and usability to all KDE applications. KDE provides tools to configure CUPS. kdelibs,
kdebase

Networking

Package Level Description Explanation Modules
pppd Optional Pppd is a PPP (Point-to-Point Protocol) daemon. PPP is a common protocol for connecting to the Internet via a modem. Kppp uses pppd to connect to the Internet using a computer POTS modem. kdenetwork
LibVNCServer / LibVNCClient >= 0.9.1 (download) Optional LibVNCServer / LibVNCClient is a library for VNC support. KRDC uses LibVNCClient for VNC client support. Krfb uses LibVNCServer for VNC server support. kdenetwork
rdesktop >= 1.5.0 Optional rdesktop is a Remote Desktop Protocol (RDP) client. KRDC uses rdesktop for RDP support. kdenetwork

Browsing

Package Level Description Explanation Modules
Java >= 1.3 Recommended Java is a programming language designed for use in the distributed environment of the Internet. Since Netscape integrated Java into its browser, Java has become a popular language for websites. Some websites require the use of Java for some or all of their services. In addition, Java bindings exist for KDE which enables writing KDE applications in the Java language. kdebase,
kdebindings

Security

Package Level Description Explanation Modules
OpenSSL >= 0.9.6 Recommended OpenSSL is a robust, commercial-grade, full-featured and Open Source toolkit implementing the Secure Sockets Layer (SSL v2/v3) and Transport Layer Security (TLS v1) protocols as well as a full-strength general purpose cryptography library. KDE uses OpenSSL for the bulk of secure communications, including secure web browsing via HTTPS. kdelibs,
kdebase,
kdenetwork,
kdepim

Graphics

Package Level Description Explanation Modules
OpenGL Recommended OpenGL is an industry-standard API for developing portable, interactive 2D and 3D graphics applications. The 3D hardware acceleration available through the OpenGL API is used in applications ranging from graphics and modellers to screensavers and video players. kdelibs,
kdebase,
kdegames,
kdegraphics,
kdemultimedia
Poppler-Qt4 Recommended PDF rendering library Adds PDF support to Okular kdegraphics
libspectre Recommended PostScript library Adds PostScript support to Okular (including support for printing preview in any KDE application) kdegraphics
chmlib Recommended CHM library Adds CHM support to Okular kdegraphics
DjVuLibre Recommended DjVu library Adds DjVu support to Okular kdegraphics
libTIFF Recommended TIFF library Adds TIFF support to Okular kdegraphics
libjpeg Recommended JPEG library Needed for PalmDB documents in Okular kdegraphics
ebook-tools Recommended eBook tools Adds EPub support in Okular kdegraphics
CUPS lpr and/or lp Recommended CUPS version of lpr or lp commands Needed for advanced printing of PDF, PS, or DjVu docments in Okular kdegraphics

Multimedia

Package Level Description Explanation Modules
ALSA Recommended ALSA (Advanced Linux Sound Architecture) provides audio and MIDI functionality for Linux. ALSA provides advanced audio support for various KDE multimedia and audio applications kdelibs,
kdemultimedia
Xine-lib Recommended The Xine libraries are a backend to decode and play various format of multimedia files (audio and video). Phonon uses Xine as its main backend kdebase-runtime

Note: at least one Phonon backend must be compiled if you want to have any multimedia support.

Development

Package Level Description Explanation Modules
Subversion Optional Subversion is a revision control system like CVS. KDevelop 3.0 can use Subversion to maintain a revision control repository for projects. There is also a kioslave for Subversion. kdesdk,
kdevelop
CVS Optional CVS is a revision control system. Cervisia is a graphical frontend for the CVS client. kdesdk

Education

Package Level Description Explanation Modules
OCaml + libfacile Optional Objective Caml is the most popular variant of the Caml language; a Functional Constraint Library OCaml and libfacile are used to implement a chemical equation solver in kalzium kdeedu
Python + Boost.Python Optional Python is a programming language.
Boost.Python is a Boost library to allow easy interface of C++ to Python.
Boost.Python is needed for Python scripting in kig. kdeedu
Readline Optional Readline is a library for having an input prompt. It is used in KAlgebra's console version (calgebra). kdeedu

Software Requirements, by Module

Module Required Recommended Optional Comments
kdelibs ALSA (Linux),
Perl,
GIF,
JPEG,
LibXml2,
LibXslt,
PNG,
SharedMimeInfo,
Strigi,
ZLib
ACLs,
BZip2,
Libintl,
OpenGL,
OpenSSL
ASpell,
Avahi,
DNSSD,
Enchant,
FAM,
Kerberos GSSAPI,
HSpell,
Jasper,
OpenEXR,
PCRE,
Soprano
kdepimlibs Boost,
Gpgme
LDAP,
Sasl2
kdebase-runtime Blitz,
Strigi,
Xine (Linux,Unix)
BZip2,
XCB
OpenEXR,
Samba,
Soprano,
CLucene
kdebase-workspace Blitz,
Strigi
OpenGL,
LibXKlavier
BlueZ,
Freetype,
GLIB2,
GObject,
NetworkManager,
RAW1394,
Sensors,
LibUSB
kdebase-apps Blitz,
Strigi
Soprano,
XKB
kdeaccessibility ALSA
kdeadmin No compilation requirements
kdeartwork Strigi Xscreensaver OpenGL
kdeedu Zlib BoostPython,

CFitsio,
Eigen,
Libfacile,
Nova,
OCaml,
OpenBabel2,
OpenGL,
Readline,
SBIG,
LibUSB

kdegames GGZ,
OpenGL
kdegraphics Strigi Blitz,

Exiv2,
JPEG,
LibGS,
Poppler,
SANE,

CHM,

DjVuLibre,
Freetype,
Gphoto2,
TIFF

kdemultimedia ALSA Cdparanoia,

FLAC,
MusicBrainz,
OggVorbis,
Taglib,
Theora,
TunePimp

kdenetwork Blitz,

Boost,
ZLib

OpenSSL

Decibel,
DNSSD,
IDN,
JPEG,
LibVNCServer,
LibXml2,
LibXslt,
QCA2,
SLP,
Sqlite,
Xmms

kdepim Boost,
QGpgme,
Strigi,
ZLib
OpenSSL GLib2,
GNOKII,
LibXslt,
LibMal,
MySQL (Embedded),
OpenSync,
Pilotlink,
QCA2
Only xsltproc needed from the libXslt package
kdesdk Strigi LibXml2,

LibXslt,
Subversion,
CVS

kdeutils Blitz GMP,

LibZip,
Python Libs,
tpctl

kdetoys Strigi