Compilers

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

In addition, the C++ implementation in gcc/egcs, 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 most newer releases.

In particular, gcc versions earlier than gcc-2.95, such as egcs-1.1.2 or gcc-2.7.2, may not properly compile some components of KDE 3.5. While there have been reports of successful KDE compilations with the so-called gcc-2.96 and gcc-3.4 (cvs), the KDE project at this time recommends the use of gcc-3.3.1 or a version of gcc which shipped with a stable Linux distribution and which was used successfully to compile a stable KDE for that distribution.

Basic  Help  Hardware  Networking  Browsing  Security  Graphics  Multimedia  Development

Basic
Package Level Description Explanation Modules
Qt >= 3.3.2 & < 4.0 Required Qt is the C++ cross-platform GUI toolkit upon which the great majority of KDE is built. Qt is required by all KDE modules. kdelibs, kdebase, kdeaddons, kdeadmin, kdeartwork, kdebindings, kdeedu, kdegames, kdegraphics, kdemultimedia, kdenetwork, kdepim, kdesdk, kdetoys, kdeutils, koffice, kdevelop
X Server Required An X Server provides the underlying display technology on UNIX systems. The KDE Project recommends the X.org or XFree86 servers. An X server is required by all KDE modules. kdelibs, kdebase, kdeaddons, kdeadmin, kdeartwork, kdebindings, kdeedu, kdegames, kdegraphics, kdemultimedia, kdenetwork, kdepim, kdesdk, kdetoys, kdeutils, koffice, kdevelop
X Render Extension Recommended The X Render Extension adds support for alpha-blended icons, anti-aliased fonts and drawing primitives, as well as true-color animated mouse cursors to the X window system. This extension is available in recent versions of X.org and XFree86. Nearly all KDE applications benefit from alpha blended icons and anti-aliased fonts. kdelibs, kdebase, kdeaddons, kdeadmin, kdeartwork, kdebindings, kdeedu, kdegames, kdegraphics, kdemultimedia, kdenetwork, kdepim, kdesdk, kdetoys, kdeutils, koffice, kdevelop
X Fixes Extension Optional The X Fixes extension was created to address a number of shortcomings in the core X window system that prevented applications from doing some things efficiently. The X Fixes extension is available in version 6.8 or later of X.org. Klipper benefits from the XFixes extension, in the form of reduced CPU utilization in both Klipper and the X server. This extension is also needed by applications that use the Composite and Damage extensions. kdebase
X Composite Extension Optional The X Composite extension adds support for translucent windows and non-rectangular windows with anti-aliased edges to the X window system. It also makes the content of obscured windows available to for example desktop pagers, and provides backing store which eliminates flicker. It also makes it possible for a composition manager to draw dynamic effects on the screen, such as window drop shadows. The X Composite Extension is available in version 6.8 or later of X.org. All KDE applications benefit from reduced flicker, and effects drawn by the composition manager. Kicker uses the composite extension for creating thumbnails of windows and displaying them in the pager. kdebase
X Damage Extension Optional The X Damage Extension provides notifications to applications when the content of the screen or individual windows changes as a result of applications drawing on them. The X Damage Extension is available in version 6.8 or later of X.org. The Damage extension is needed by the composition manager to be able to know when to update dynamic effects. kdebase
X DPMS Extension Recommended The DPMS extension provides energy-saving power management for most modern monitors. This extension is included by default in recent X Servers from X.org and XFree86. KDE enables you to configure your display's DPMS settings. kdebase
X Video Extension Optional The X Video Extension (xv) provides hardware-accelerated video playback for X Servers. This extension is included by default in recent X Servers from X.org and XFree86. The video subsytem will perform much better if the X Video Extension is available. kdemultimedia
Xft >=2.0 Recommended The Xft library works in combination with the fontconfig and freetype2 libraries to provide an interface for applications to draw anti-aliased text using the X render extension. This library in combination with fontconfig, freetype2 and the X render extension is required for anti-aliased fonts in KDE applications. Nearly all KDE applications benefit from anti-aliased fonts. kdelibs, kdebase, kdeaddons, kdeadmin, kdeartwork, kdebindings, kdeedu, kdegames, kdegraphics, kdemultimedia, kdenetwork, kdepim, kdesdk, kdetoys, kdeutils, koffice, kdevelop
fontconfig Recommended Fontconfig is a library that provides system wide font customization and configuration, and enables applications to discover which fonts are installed on the system. This library in combination with Xft, freetype2 and the X render extension is required for anti-aliased fonts in KDE applications. Nearly all KDE applications benefit from anti-aliased fonts. kdelibs, kdebase, kdeaddons, kdeadmin, kdeartwork, kdebindings, kdeedu, kdegames, kdegraphics, kdemultimedia, kdenetwork, kdepim, kdesdk, kdetoys, kdeutils, koffice, kdevelop
Ghostscript Recommended Ghostscript provides PostScript® and PDF (Portable Document Format) rendering and manipulation for KDE. This functionality is neeeded by print previews and filters. Almost all of KDE benefits from Ghostscript due to the rendering and filtering it provides. Version 6.53 or later is recommended. kdebase, kdeaddons, kdeedu, kdegraphics, kdemultimedia, kdenetwork, kdepim, kdeutils, koffice, kdevelop
Database Server Recommended Databases provide a scalable method for organizing, accessing and modifying data quickly. Various applications either require or work better when a database is used to keep their data. While the database requirements vary from application to application, the most common requirements are MySQL and/or PostgreSQL and/or unixODBC. kdepim
Berkeley DB 4 Recommended Berkeley DB 4 provides a fast, scalable, in-process database engine. KDevelop, the KDE development environment, requires it. KBabel, the KDE translation tool, can use it. kdevelop, kdesdk
Python Optional Python is a modern, object-oriented programming language. Some KOffice components use Python as a scripting engine. In addition, Python bindings to KDE are available for KDE development using Python. kdebindings, koffice
Perl Required Perl is a modern programming language. The info page KIO needs Perl to convert info pages to HTML. KSirc can be scripted in Perl. Several modules require Perl for source code manipulation during their compilation. kdelibs, kdebase, kdeaddons, kdeadmin, kdeartwork, kdebindings, kdeedu, kdegames, kdegraphics, kdemultimedia, kdenetwork, kdepim, kdesdk, kdetoys, kdeutils, koffice, kdevelop
bzip2 Required Bzip2 is a patent-free compression and decompression library. Compared to gzip, it provides greater compression at the cost of being substantially slower. Some KDE applications enable compressing or decompressing bzip'd files. kdelibs, kdeadmin, kdeutils
TeX Optional TeX, together with LaTeX, provide a standard, high-quality publishing system. Some KDE applications can import or export TeX documents. kdegraphics, koffice
X Xinerama Extension Optional The X Xinerama extension provides support for multi-headed (multi-monitor) setups. This extension is included by default in recent X Servers from X.org and XFree86. The KDE window manager supports the use of multiple monitors. kdebase
Xcursor library Optional The Xcursor library provides support for colored and animated cursor themes. This library is included by default in recent versions of X.org and XFree86, but can also be installed as a standalone library and used with any X server. For full functionality the X server must support Xrender version 0.8 and Xfixes version 2.0. The KDE Control Center supports configuring the cursor themes. kdebase
zlib >=1.1 Required A compression/decompression library. A system zlib library is preferred by Qt, though Qt provides its own copy to fall back on. Various KDE applications make use of zlib to compress or decompress data. kdelibs, kdebase, arts, kdeaddons, kdeadmin, kdeartwork, kdebindings, kdeedu, kdegames, kdegraphics, kdemultimedia, kdenetwork, kdepim, kdesdk, kdetoys, kdeutils, koffice, kdevelop
ACL and Attr Optional File permission access control. KDE can use libacl for file permission Access Control Lists. kdelibs
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, kdebase, arts, kdeaddons, kdeadmin, kdeartwork, kdebindings, kdeedu, kdegames, kdegraphics, kdemultimedia, kdenetwork, kdepim, kdesdk, kdetoys, kdeutils, koffice, kdevelop
GLib >= 2.4 Recommended GLib is the low-level core library that forms the basis of GTK+. GLib is used by 3rd party libraries in arts and kopete arts, kdenetwork
libxslt >= 1.0.7 Recommended Libxslt provides XSLT processing. XSLT is itself an XML language used to define XML transformations (i.e., from one XML language to another). Libxslt is needed to read KDE documentation. kdelibs, kdebase, arts, kdeaddons, kdeadmin, kdeartwork, kdebindings, kdeedu, kdegames, kdegraphics, kdemultimedia, kdenetwork, kdepim, kdesdk, kdetoys, kdeutils, koffice, kdevelop
ht dig Recommended ht://dig is a document indexing and search facility. KDevelop uses ht://dig to index and search documentation. 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
gPhoto 2 >= 2.0.1 Optional GPhoto is a set of digital camera software applications for Unix-like systems. Some KDE applications and services which can work with images on digital cameras require gPhoto 2. kdeaddons, kdegraphics
SANE Optional SANE is an application programming interface (API) that provides standardized access to raster image scanner hardware. KDE applications which work with scanners require SANE. kdelibs, kdegraphics
lm_sensors Optional Lm_sensors provides Linux monitoring tools for systems with hardware health monitoring, such as temperature sensors. KDE applications which enable you to monitor your system's hardware health require lm_sensors to perform the monitoring function. kdeadmin
mtools >= 3.9.9 Optional Mtools is a collection of utilities to access MS-DOS disks from Unix without mounting them. It supports Win'95 style long file names, OS/2 Xdf disks and 2m disks (store up to 1992k on a high density 3 1/2 disk). Using mtools you can access a floppy drive from Konqueror without first mounting the device. kdebase
hfsplus Optional Hfsplus is a collection of utilities to access Macintosh disks from Unix without mounting them. Using hfsplus you can access a Macintosh floppy from Konqueror. kdebase
libmal >=0.20 Optional Provides the functionality to synchronize PalmOS handhelds with MAL servers like AvantGo. The AvantGo conduit of KPilot depends on this library to synchronize with AvantGo. If the library or the header files are not available during compilation, the AvantGo conduit (malconduit) will not be available. kdepim
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
libsmbclient >=3.0.4 Recommended Libsmbclient is a part of Samba and provides access to Windows SMB shares. It provides client (both download and upload) services but not server services. Some KDE applications use libsmb to access Windows shares. kdebase
libldap Optional Libldap implements LDAP (the Lightweight Directory Access Protocol). LDAP provides access to X.500 directory services, both stand-alone and as part of a distributed directory service. The KDE Address Book and some PIM applications can access directory and user information from an LDAP server with libldap. kdelibs, kdepim
HAL >= 0.4.x, DBus >= 0.2x Optional HAL is a hardware abstraction layer that exposes hardware properties and makes them available through a D-Bus service. The media kioslave can use HAL to list media and to listen to hotplug events. If HAL is not running, media:/ will fall back on fstab tracking. kdebase
FAM Recommended FAM is a server which tracks changes to the filesystem and relays these changes to interested applications. Its efficiency comes from consolidating the polling for all applications or, with kernel support, from obtaining kernel notifications of file system changes. The KDE subsytem relies on monitoring changes in the filesystem so that the GUI provides an up-to-date view. FAM makes this process more efficient. kdelibs, kdebase
OpenSLP Optional SLP (Service Location Protocol) implementation. Allows browsing and searching for network services. Used by the Desktop Sharing server and the Remote Desktop Connection client to find servers. For the client an installation of the library is sufficient, on servers the slpd daemon must run. kdenetwork
Pilot-Link Recommended pilot-link is a library that provides means to communicate with Palm OS (tm) devices such as the Palm Pilot, Handspring Visor, and Sony Clie. pilot-link is needed by KPilot, the KDE-to-Palm synchronization tool. For KDE 3.5.6, pilot-link >= 0.12.0 is required for KPilot. kdepim
Cyrus SASL Recommended Cyrus SASL provides authentication mechanisms. It comes with a library and plugins (one plugin for each type of authentication, e.g. plain, gssapi, sasldb etc.) The POP3 and SMTP support (kioslaves) use the Cyrus SASL library when available kdebase
mDNS Recommended mDNS is a daemon needed for KDE's service discovery feature. It is compatible with ZeroConf implementations such as Apple's Rendevouz technology. Applications that use mDNS include:
  • Konqueror and any application capable of using KDE's file dialog via the dnssd:/ ioslave for discovering ftp, nfs, ssh, telnet and ldap servers, shared desktops and application specific services.
  • krfb and krdc for discovering remote desktop connections.
  • Games like lskat, KWin4 and KBattleship for discovering game servers.
kdelibs, kdenetwork, kdegames
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
WINE Optional WINE is an implementation of the Windows 32 and 16 bit APIs on top of X and UNIX. It can be used to execute an ever-increasing number of applications written for Windows on GNU/Linux and UNIX systems. The KDE web browser Konqueror can use WINE to run some ActiveX controls, such as the Quicktime video player. kdebase
Crossover Plugin Optional CrossOver Plugin, an extension of WINE, lets you use many Windows ActiveX plugins, such as QuickTime, ShockWave Director and Windows Media Player 6.4, directly from within your Linux browser. The KDE web browser Konqueror can use CrossOver Plugin to support some proprietary but common web technologies. kdebase
PCRE Required The PCRE (Perl Compatible Regular Expressions) library is a set of functions that implement regular expression pattern matching using the same syntax and semantics as Perl 5. The regular-expression support in the KDE JavaScript engine (KJS) uses PCRE. kdelibs
IDN Recommended Libidn provides support for IETF Internationalized Domain Names (IDN) Domain name lookup throughout all of KDE uses libidn when available. For Kopete's Jabber plugin this is a requirement. kdelibs
NTLM Optional Libntlm provides support for NTLM authentication Microsoft webservers on intranets often require NTLM authentication kdelibs
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
GnuPG >= 1.2.5 Recommended GnuPG is a complete and free replacement for PGP (Pretty Good Privacy). PGP uses a popular technique for encrypting and decrypting e-mail as well as for sending an encrypted digital signature that lets the receiver verify the sender's identity and know that the message was not modified en route. The KDE mail client KMail can use GnuPG to encrypt and decrypt emails as well as to authenticate the identify of the author of an email. Version 1.2.2 or higher is strongly recommended. kdepim
JSSE Recommended JSSE (Java Secure Socket Extension) is a set of Java packages that enable secure Internet communications by Java applets. Some Java-enabled websites, particularly banking sites, require JSSE for full access to their services. The KDE web browser Konqueror will use JSSE if it is available on the system and properly configured. If you do not do online banking JSSE is optional. kdebase
PAM Optional PAM (Pluggable Authentication Modules) is a flexible system for authenticating users. Various KDE applications can use the PAM modules for user authentication. kdebase
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, kdeaddons, kdegraphics, kdemultimedia
SDL Optional SDL (Simple DirectMedia Layer) is a cross-platform multimedia library designed to provide fast access to the graphics framebuffer and audio device. Some Noatun plugins require SDL. kdemultimedia
libtiff Optional Libtiff provides support for the Tag Image File Format (TIFF), a widely used format for storing image data, also used in facsimile transmissions. Libtiff is needed for KDE applications which send, receive or view faxes. kdebase, kdegraphics
libpng Required Libpng is the official PNG (Portable Network Graphics) reference library. PNG images are the standard image format for KDE. Libpng is required to view and save such images. Note that most image handling is done by Qt, which will provide its own copy of libpng if one is not installed on the system. kdelibs, kdebase
libjpeg Recommended Libjpeg is a library which implements JPEG image compression and decompression. JPEG is a standardized lossy compression method for full-color and gray-scale images, such as photographs, and is commonly used on the Internet. KDE applications can view and save JPEG images using libjpeg. kdelibs, kdebase, kdegraphics, kdemultimedia, koffice
libmng Optional Libmng is the standard implementation of MNG (Multiple-image Network Graphics). MNG, built on PNG, provides animated images, similar to animated GIF images. While not nearly as ubiquitous as animated GIFs, MNG is catching on as an animated image technology for the Internet. kdelibs, kdebase, kdegraphics
freetype >= 2.0.0 Recommended FreeType 2 is a software font rendering engine. Freetype 2 provides enhanced anti-aliased font handling and manipulation for the entire KDE desktop. kdelibs, kdebase, kdeadmin, kdeedu, kdegames, kdegraphics, kdemultimedia, kdenetwork, kdepim, kdeutils, koffice, kdevelop
Poppler >= 0.3.1 Optional Poppler is a PDF rendering library. Some KDE applications can provide enhanced information about PDF files using Poppler. kdegraphics
GIFT >= 0.1.9 Optional The GNU Image Finding Tool allows for searching images by example. E.g. right-click on an image in the filemanager and select "Search for similar Images". See http://www.fer-de-lance.org/ for more information. Implemented as a KPart and kioslave, it is typically used with Konqueror, but it can also be used by other applications. kdegraphics
libart >= 2.3.8 Recommended Libart is a library for high-performance, anti-aliased 2D graphics. Libart is required for KDE's SVG icon engine. kdelibs
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. kdemultimedia
cdrtools Optional cdrtools (f/k/a cdrecord) burns CDs using a CDR/CDRW recorder. Cdrtools is commonly required for burning CDs. kdemultimedia
cdparanoia Optional Cdparanoia directly extracts digital audio from compact discs (audio CDs). There's no intermediate analog step. The digital audio data is converted to various standard formats. Cdparanoia is used by most KDE CD "rippers", inclding the audiocd:// IO slave. kdebase, kdemultimedia
L.A.M.E. Optional L.A.M.E. (LAME Ain't an Mp3 Encoder) is an MP3 encoder. L.A.M.E. is needed to save digital music in the MP3 format. kdebase, kdemultimedia
Ogg Vorbis Recommended Ogg Vorbis is a patent-free, fully open general purpose audio encoding standard that rivals or surpasses the 'upcoming' generation of proprietary coders (AAC and TwinVQ, also known as VQF). Ogg Vorbis is needed to listen to, and to save digital music in the excellent Ogg Vorbis format. kdebase, arts, kdeaddons, kdemultimedia
FLAC >= 1.0.3 Optional FLAC stands for Free Lossless Audio Codec. Grossly oversimplified, FLAC is similar to MP3, but lossless, meaning that audio is compressed in FLAC without any loss in quality. FLAC (libFLAC and libOggFLAC) is needed to listen to digital music in the FLAC or Ogg/FLAC formats. kdemultimedia
Speex Optional Speex is an Open Source/Free Software patent-free audio compression format designed for speech. Speex (libspeex) is needed to listen to digital files and streaming audio in the Speex format. kdemultimedia
MAD Recommended MAD is a high-quality MPEG audio decoder. It currently supports MPEG-1 and the MPEG-2 extension to lower sampling frequencies, as well as the de facto MPEG 2.5 format. While MAD (libmad) is not required to play MP3s, it is recommended for its superior playback quality. kdemultimedia
libaudiofile Recommended Libaudio is a library for accessing digital audio in the .WAV format. Libaudio is needed to play or save .WAV audio files. kdelibs, kdemultimedia
XINE Recommended XINE is a multimedia system for playback of CDs, DVDs and VCDs and for decoding multimedia streams or files such as .AVI, .MOV, .WMV and .MP3. The KDE multimedia system uses XINE for basic video support. kdemultimedia
gstreamer 0.8 Optional gstreamer is a multimedia framework with support for a variety of file types and sound outputs. JuK can use gstreamer. External KDE applications such as amaroK work better with gstreamer. kdemultimedia
libmusicbrainz Optional libmusicbrainz is used to interface with the MusicBrainz server to help guess information about your music, such as the album and artist. JuK can use libmusicbrainz in conjuction with libtunepimp to guess the tags for music in your library. kdemultimedia
libtunepimp Optional libtunepimp is a library designed to aid in the creation of MusicBrainz-enabled applications. JuK can use libtunepimp in conjunction with libmusicbrainz to guess the tags for music in your library. kdemultimedia
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 The Concurrent Versioning System is a very popular revision control system, typically used in software project development. CVS is needed by KDevelop and certain other applications to access CVS repositories. kdesdk, kdevelop
Perforce Optional Perforce is a revision control system like CVS. KDevelop 3.0 can use the p4 command line tool to enable Perforce as the backend revision control repository for projects. kdevelop
Exuberant Ctags Recommended Ctags indexes source code files, allowing text editors and other utilities to quickly find identifiers and other elements of the source. KDevelop uses ctags, if available, to provide improved source code navigation. kdevelop
doxygen Recommended Doxygen is a cross-platform, JavaDoc-like documentation system for C, C++ and IDL (Corba, Microsoft® and KDE DCOP flavors). Doxygen is used to generate the kdelibs API documentation. If you want to develop software using KDE you should install doxygen. kdebindings, kdesdk, kdevelop
libfacile Recommended A Functional Constraint Library libfacile is used to implement a chemical equation solver in kalzium kdeedu
ocaml Recommended Objective Caml is the most popular variant of the Caml language. ocaml is used to implement a chemical equation solver in kalzium kdeedu