Skip to content

KDE 3.5 Compilation Requirements

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
PackageLevelDescriptionExplanationModules
Qt >= 3.3.2 & < 4.0RequiredQt 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 ServerRequiredAn 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 ExtensionRecommendedThe 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 ExtensionOptionalThe 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 ExtensionOptionalThe 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 ExtensionOptionalThe 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 ExtensionRecommendedThe 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 ExtensionOptionalThe 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.0RecommendedThe 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
fontconfigRecommendedFontconfig 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
GhostscriptRecommendedGhostscript 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 ServerRecommendedDatabases 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 4RecommendedBerkeley 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
PythonOptionalPython 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
PerlRequiredPerl 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
bzip2RequiredBzip2 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
TeXOptionalTeX, together with LaTeX, provide a standard, high-quality publishing system.Some KDE applications can import or export TeX documents.kdegraphics, koffice
X Xinerama ExtensionOptionalThe 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 libraryOptionalThe 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.1RequiredA 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 AttrOptionalFile permission access control.KDE can use libacl for file permission Access Control Lists.kdelibs
Help
PackageLevelDescriptionExplanationModules
libxml2 >= 2.4.8RecommendedLibxml 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.4RecommendedGLib is the low-level core library that forms the basis of GTK+.GLib is used by 3rd party libraries in arts and kopetearts, kdenetwork
libxslt >= 1.0.7RecommendedLibxslt 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 digRecommendedht://dig is a document indexing and search facility.KDevelop uses ht://dig to index and search documentation.kdevelop
Hardware
PackageLevelDescriptionExplanationModules
CUPS >= 1.1.9OptionalCUPS (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.1OptionalGPhoto 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
SANEOptionalSANE 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_sensorsOptionalLm_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.9OptionalMtools 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
hfsplusOptionalHfsplus 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.20OptionalProvides 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
PackageLevelDescriptionExplanationModules
pppdOptionalPppd 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.4RecommendedLibsmbclient 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
libldapOptionalLibldap 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.2xOptionalHAL 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
FAMRecommendedFAM 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
OpenSLPOptionalSLP (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-LinkRecommendedpilot-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 SASLRecommendedCyrus 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 availablekdebase
mDNSRecommendedmDNS 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
PackageLevelDescriptionExplanationModules
Java >= 1.3RecommendedJava 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
WINEOptionalWINE 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 PluginOptionalCrossOver 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
PCRERequiredThe 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
IDNRecommendedLibidn 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
NTLMOptionalLibntlm provides support for NTLM authenticationMicrosoft webservers on intranets often require NTLM authenticationkdelibs
Security
PackageLevelDescriptionExplanationModules
OpenSSL >= 0.9.6RecommendedOpenSSL 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.5RecommendedGnuPG 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
JSSERecommendedJSSE (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
PAMOptionalPAM (Pluggable Authentication Modules) is a flexible system for authenticating users.Various KDE applications can use the PAM modules for user authentication.kdebase
Graphics
PackageLevelDescriptionExplanationModules
OpenGLRecommendedOpenGL 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
SDLOptionalSDL (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
libtiffOptionalLibtiff 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
libpngRequiredLibpng 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
libjpegRecommendedLibjpeg 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
libmngOptionalLibmng 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.0RecommendedFreeType 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.1OptionalPoppler is a PDF rendering library.Some KDE applications can provide enhanced information about PDF files using Poppler.kdegraphics
GIFT >= 0.1.9OptionalThe 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.8RecommendedLibart is a library for high-performance, anti-aliased 2D graphics.Libart is required for KDE's SVG icon engine.kdelibs
Multimedia
PackageLevelDescriptionExplanationModules
ALSARecommendedALSA (Advanced Linux Sound Architecture) provides audio and MIDI functionality for Linux.ALSA provides advanced audio support for various KDE multimedia and audio applications.kdemultimedia
cdrtoolsOptionalcdrtools (f/k/a cdrecord) burns CDs using a CDR/CDRW recorder.Cdrtools is commonly required for burning CDs.kdemultimedia
cdparanoiaOptionalCdparanoia 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.OptionalL.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 VorbisRecommendedOgg 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.3OptionalFLAC 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
SpeexOptionalSpeex 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
MADRecommendedMAD 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
libaudiofileRecommendedLibaudio is a library for accessing digital audio in the .WAV format.Libaudio is needed to play or save .WAV audio files.kdelibs, kdemultimedia
XINERecommendedXINE 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.8Optionalgstreamer 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
libmusicbrainzOptionallibmusicbrainz 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
libtunepimpOptionallibtunepimp 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
PackageLevelDescriptionExplanationModules
SubversionOptionalSubversion 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
CVSOptionalThe 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
PerforceOptionalPerforce 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 CtagsRecommendedCtags 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
doxygenRecommendedDoxygen 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
libfacileRecommendedA Functional Constraint Librarylibfacile is used to implement a chemical equation solver in kalziumkdeedu
ocamlRecommendedObjective Caml is the most popular variant of the Caml language.ocaml is used to implement a chemical equation solver in kalziumkdeedu