Schedules/KDE4/4.0 Requirements: Difference between revisions

    From KDE TechBase
    (added hardware CUPS requirement)
    m (fluff up the intro a little)
    (77 intermediate revisions by 10 users not shown)
    Line 1: Line 1:
    = KDE 4.0 Compilation Requirements =
    KDE 4.0 Compilation Requirements -- intended to be a comprehensive list of all external software needed to build a full-featured KDE 4.0.
    == Compilers ==
     
    = Compilers =
    <em>Compiler Requirements.</em> KDE is designed to be portable and hence to compile with a large variety of GNU/Linux, UNIX, Windows and MacOS compilers.
    <em>Compiler Requirements.</em> 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 [http://bugs.kde.org reporting] compile problems to the responsible developers.  
    However, KDE is advancing very rapidly and the ability of native compilers on various systems to compile KDE depends on users of those systems [http://bugs.kde.org reporting] compile problems to the responsible developers.  


    In addition, the C++ implementation in [http://gcc.gnu.org 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 addition, the C++ implementation in [http://gcc.gnu.org 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.


    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.
    {|border=1 cellpadding="5" cellspacing="0" align="center"
    |+ Compiler support table
    |-
    ! Compiler !! Version !! Status !! Comment
    |-
    ! rowspan=7 | gcc
    |style="background:red"| 3.2 and older
    |style="background:red"| Not supported
    |
    |-
    |style="background:green"| 3.3
    |style="background:green"| Supported
    |
    |-
    |style="background:green"| 3.4
    |style="background:green"| Supported
    |
    |-
    |style="background:green"| 4.0
    |style="background:green"| Supported
    | 4.0.0 is not supported
    |-
    |style="background:green"| 4.1
    |style="background:green"| Supported
    |
    |-
    |style="background:green"| 4.2  
    |style="background:green"| Supported
    |
    |-
    |style="background:yellow"| 4.3
    |style="background:yellow"| Experimental
    | May or may not work, but patches are accepted
    |-
    ! rowspan=5 | Microsoft VisualStudio
    |style="background:red"| 6.0
    |style="background:red"|Not supported
    |-
    |style="background:red"| .NET 2002
    |style="background:red"| Not supported
    |
    |-
    |style="background:green"| .NET 2003
    |style="background:green"| Supported
    |
    |-
    |style="background:green"| .NET 2005
    |style="background:green"| Supported
    | Including the Express version
    |-
    |style="background:green"| .NET 2008
    |style="background:green"| Supported
    | No reports yet of success, but there shouldn't be problems
    |-
    ! rowspan=3 | SunStudio
    |style="background:yellow"| 11
    |style="background:yellow"| Unknown
    |
    |-
    |style="background:green"| 12
    |style="background:green"| Ongoing
    | Support is being worked on
    |}


    == Software Requirements ==
    = Software Requirements, by Function =
    === Basic ===
    == Basic ==
    {| border="1" cellpadding="5" cellspacing="0" align="center"
    {| border="1" cellpadding="5" cellspacing="0" align="center"
    |-
    |-
    Line 18: Line 81:
    ! Modules
    ! Modules
    |- valign="top"
    |- valign="top"
    | [http://www.trolltech.com Qt >= 4.3]
    | [http://www.trolltech.com Qt >= 4.3.3]
    |style="background:red"| Required
    |style="background:red"| Required
    || Qt is the C++ cross-platform GUI toolkit upon which the great majority of KDE is built.
    || Qt is the C++ cross-platform GUI toolkit upon which the great majority of KDE is built.
    || Qt is required by all KDE modules.
    || Qt is required by all KDE4 code.
    || kdelibs,<br> kdepimlibs,<br> kdebase,<br> kdeadmin,<br> kdeartwork,<br> kdebindings,<br> kdeedu,<br> kdegames,<br> kdegraphics,<br> kdemultimedia,<br> kdenetwork,<br> kdepim,<br> kdesdk,<br> kdetoys,<br> kdeutils,<br> koffice,<br> kdevelop
    || ALL
    |- valign="top"
    | [http://cmake.org CMake >= 2.4.5]
    |style="background:red"| Required
    || CMake is a cross-platform make system used that forms the basis of the KDE4 buildsystem. <small>'''Note''': CMake >= 2.6.0 with chrpath is recommended for faster linking time, but not required.</small>
    || CMake is required to build all KDE4 code.
    || ALL
    |- valign="top"
    | [http://www.freedesktop.org/wiki/Software/shared-mime-info Shared-Mime-Info >= 0.20]
    |style="background:red"| Required
    ||The freedesktop.org shared MIME database
    ||
    || ALL
    |- valign="top"
    | [http://www.freetype.org/ FreeType]
    | style="background:yellow"|Recommended
    || A Free, High-Quality, and Portable Font Engine
    || Better DVI support in okular
    || kdegraphics
    |- valign="top"
    | [http://www.foo.org FooPackage]
    | style="background:yellow"|Recommended
    || Foo description
    || Foo explanation
    || kdemodule,<br> kdemodule,<br> kdemodule
    |}
    |}


    === Help ===
    == Help ==
    {| border="1" cellpadding="5" cellspacing="0" align="center"
    {| border="1" cellpadding="5" cellspacing="0" align="center"
    |-
    |-
    Line 39: Line 126:
    || 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.
    || 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,<br> kdepimlibs,<br> kdebase,<br> kdeadmin,<br> kdeartwork,<br> kdebindings,<br> kdeedu,<br> kdegames,<br> kdegraphics,<br> kdemultimedia,<br> kdenetwork,<br> kdepim,<br> kdesdk,<br> kdetoys,<br> kdeutils,<br> koffice,<br> kdevelop
    || kdelibs,<br> kdepimlibs,<br> kdebase,<br> kdeadmin,<br> kdeartwork,<br> kdebindings,<br> kdeedu,<br> kdegames,<br> kdegraphics,<br> kdemultimedia,<br> kdenetwork,<br> kdepim,<br> kdesdk,<br> kdetoys,<br> kdeutils,<br> koffice,<br> kdevelop
    |- valign="top"
    | [http://www.foo.org FooPackage]
    | style="background:yellow"|Recommended
    || Foo description
    || Foo explanation
    || kdemodule,<br> kdemodule,<br> kdemodule
    |}
    |}


    === Hardware ===
    == Hardware ==
    {| border="1" cellpadding="5" cellspacing="0" align="center"
    {| border="1" cellpadding="5" cellspacing="0" align="center"
    |-
    |-
    Line 55: Line 148:
    || CUPS provides enhanced printing administration, printing options and usability to all KDE applications. KDE provides tools to configure CUPS.
    || CUPS provides enhanced printing administration, printing options and usability to all KDE applications. KDE provides tools to configure CUPS.
    || kdelibs,<br> kdebase
    || kdelibs,<br> kdebase
    |- valign="top"
    | [http://www.foo.org FooPackage]
    | style="background:yellow"|Recommended
    || Foo description
    || Foo explanation
    || kdemodule,<br> kdemodule,<br> kdemodule
    |}
    == Networking ==
    {| border="1" cellpadding="5" cellspacing="0" align="center"
    |-
    ! Package
    ! Level
    ! Description
    ! Explanation
    ! Modules
    |- valign="top"
    | [http://ppp.samba.org pppd]
    |style="background:green"| 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
    |- valign="top"
    | [http://libvncserver.sourceforge.net/ LibVNCServer / LibVNCClient >= 0.9.1] ([http://sourceforge.net/project/showfiles.php?group_id=32584&package_id=24717 download])
    |style="background:green"| Optional
    || LibVNCServer / LibVNCClient is a library for VNC support.
    || KRDC uses LibVNCClient for VNC client support. Krfb uses LibVNCServer for VNC server support.
    || kdenetwork
    |- valign="top"
    | [http://www.rdesktop.org/ rdesktop >= 1.5.0]
    |style="background:green"| Optional
    || rdesktop is a Remote Desktop Protocol (RDP) client.
    || KRDC uses rdesktop for RDP support.
    || kdenetwork
    |- valign="top"
    | [http://www.foo.org FooPackage]
    | style="background:yellow"|Recommended
    || Foo description
    || Foo explanation
    || kdemodule,<br> kdemodule,<br> kdemodule
    |}
    == Browsing ==
    {| border="1" cellpadding="5" cellspacing="0" align="center"
    |-
    ! Package
    ! Level
    ! Description
    ! Explanation
    ! Modules
    |- valign="top"
    | [http://java.sun.com Java >= 1.3]
    |style="background:yellow"| 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,<br> kdebindings
    |- valign="top"
    | [http://www.foo.org FooPackage]
    | style="background:yellow"|Recommended
    || Foo description
    || Foo explanation
    || kdemodule,<br> kdemodule,<br> kdemodule
    |}
    == Security ==
    {| border="1" cellpadding="5" cellspacing="0" align="center"
    |-
    ! Package
    ! Level
    ! Description
    ! Explanation
    ! Modules
    |- valign="top"
    | [http://www.openssl.org OpenSSL >= 0.9.6]
    |style="background:yellow"| 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,<br> kdebase,<br> kdenetwork,<br> kdepim
    |- valign="top"
    | [http://www.foo.org FooPackage]
    | style="background:yellow"|Recommended
    || Foo description
    || Foo explanation
    || kdemodule,<br> kdemodule,<br> kdemodule
    |}
    |}


    === Networking ===
    == Graphics ==
    === Browsing ===
    {| border="1" cellpadding="5" cellspacing="0" align="center"
    === Security ===
    |-
    === Graphics ===
    ! Package
    === Multimedia ===
    ! Level
    === Development ===
    ! Description
    ! Explanation
    ! Modules
    |- valign="top"
    | [http://mesa3d.sourceforge.net OpenGL]
    |style="background:yellow"| 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,<br> kdebase,<br> kdegraphics,<br> kdemultimedia
    |- valign="top"
    | [http://poppler.freedesktop.org Poppler-Qt4]
    | style="background:yellow"|Recommended
    || PDF rendering library
    || Adds PDF support to Okular
    || kdegraphics
    |- valign="top"
    | [http://libspectre.freedesktop.org/ libspectre]
    | style="background:yellow"|Recommended
    || PostScript library
    || Adds PostScript support to Okular (including support for printing preview in any KDE application)
    || kdegraphics
    |- valign="top"
    | [http://morte.jedrea.com/~jedwin/projects/chmlib chmlib]
    | style="background:yellow"|Recommended
    || CHM library
    || Adds CHM support to Okular
    || kdegraphics
    |- valign="top"
    | [http://djvu.sourceforge.net/ DjVuLibre]
    | style="background:yellow"|Recommended
    || DjVu library
    || Adds DjVu support to Okular
    || kdegraphics
    |- valign="top"
    | [http://www.remotesensing.org/libtiff/ libTIFF]
    | style="background:yellow"|Recommended
    || TIFF library
    || Adds TIFF support to Okular
    || kdegraphics
    |- valign="top"
    | [http://www.ijg.org/ libjpeg]
    | style="background:yellow"|Recommended
    || JPEG library
    || Needed for PalmDB documents in Okular
    || kdegraphics
    |- valign="top"
    | [http://sourceforge.net/projects/ebook-tools ebook-tools]
    | style="background:yellow"|Recommended
    || eBook tools
    || Adds EPub support in Okular
    || kdegraphics
    |- valign="top"
    | [http://www.cups.org/ CUPS lpr and/or lp]
    | style="background:yellow"|Recommended
    || CUPS version of lpr or lp commands
    || Needed for advanced printing of PDF, PS, or DjVu docments in Okular
    || kdegraphics
    |- valign="top"
    | [http://www.foo.org FooPackage]
    | style="background:yellow"|Recommended
    || Foo description
    || Foo explanation
    || kdemodule,<br> kdemodule,<br> kdemodule
    |}
     
    == Multimedia ==
    {| border="1" cellpadding="5" cellspacing="0" align="center"
    |-
    ! Package
    ! Level
    ! Description
    ! Explanation
    ! Modules
    |- valign="top"
    | [http://www.alsa-project.org ALSA]
    |style="background:yellow"| 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,<br>kdemultimedia
    |- valign="top"
    | [http://xinehq.de/ Xine-lib]
    | style="background:yellow"|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
    |- valign="top"
    | [http://www.foo.org FooPackage]
    | style="background:yellow"|Recommended
    || Foo description
    || Foo explanation
    || kdemodule,<br> kdemodule,<br> kdemodule
    |}
     
    Note: at least one Phonon backend must be compiled if you want to have any multimedia support.
     
    == Development ==
    {| border="1" cellpadding="5" cellspacing="0" align="center"
    |-
    ! Package
    ! Level
    ! Description
    ! Explanation
    ! Modules
    |- valign="top"
    | [http://subversion.tigris.org Subversion]
    |style="background:green"| 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,<br> kdevelop
    |- valign="top"
    | [http://www.nongnu.org/cvs CVS]
    |style="background:green"| Optional
    || CVS is a revision control system.
    || Cervisia is a graphical frontend for the CVS client.
    || kdesdk
    |- valign="top"
    | [http://www.foo.org FooPackage]
    | style="background:yellow"|Recommended
    || Foo description
    || Foo explanation
    || kdemodule,<br> kdemodule,<br> kdemodule
    |}
     
    == Education ==
    {| border="1" cellpadding="5" cellspacing="0" align="center"
    |-
    ! Package
    ! Level
    ! Description
    ! Explanation
    ! Modules
    |- valign="top"
    | [http://caml.inria.fr/ocaml/ OCaml] + [http://www.recherche.enac.fr/opti/facile/ libfacile]
    |style="background:green"| 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
    |- valign="top"
    | [http://www.python.org Python] + [http://www.boost.org Boost.Python]
    |style="background:green"| Optional
    || Python is a programming language.<br />Boost.Python is a Boost library to allow easy interface of C++ to Python.
    || Boost.Python is needed for Python scripting in kig.
    || kdeedu
    |- valign="top"
    | [http://tiswww.case.edu/php/chet/readline/rltop.html Readline]
    |style="background:green"| Optional
    || Readline is a library for having an input prompt.
    || It is used in KAlgebra's console version (calgebra).
    || kdeedu
    |}
     
    = Software Requirements, by Module =
     
    {| border="1" cellpadding="5" cellspacing="0" align="center"
    |-
    !| '''Module'''
    !style="background:red"|Required
    !style="background:yellow"|Recommended
    !style="background:green"|Optional
    !style="background:grey"|Comments
    |- valign="top"
    || '''kdelibs'''
    || ALSA (Linux),<br> Perl,<br> GIF,<br> JPEG,<br> LibXml2,<br> LibXslt,<br> PNG,<br> SharedMimeInfo,<br> Strigi,<br> ZLib
    || ACLs,<br> BZip2,<br> Libintl,<br> OpenGL,<br> OpenSSL
    || ASpell,<br> Avahi,<br> DNSSD,<br> Enchant,<br> FAM,<br> Kerberos GSSAPI,<br> HSpell,<br> Jasper,<br> OpenEXR,<br> PCRE,<br> Soprano
    ||
     
    |- valign="top"
    || '''kdepimlibs'''
    || Boost,<br> Gpgme
    || LDAP,<br> Sasl2
    ||
    ||
     
    |- valign="top"
    || '''kdebase-runtime'''
    || Blitz,<br> Strigi,<br> Xine (Linux,Unix)
    || BZip2,<br> XCB
    || OpenEXR,<br> Samba,<br> Soprano,<br> CLucene
    ||
     
    |- valign="top"
    || '''kdebase-workspace'''
    || Blitz,<br> Strigi
    || OpenGL,<br> LibXKlavier
    || BlueZ,<br> Freetype,<br> GLIB2,<br> GObject,<br> NetworkManager,<br> RAW1394,<br> Sensors,<br> LibUSB
    ||
     
    |- valign="top"
    || '''kdebase-apps'''
    || Blitz,<br> Strigi
    ||
    || Soprano,<br> XKB
    ||
     
    |- valign="top"
    || '''kdeaccessibility'''
    ||
    ||
    || ALSA
    ||
     
    |- valign="top"
    || '''kdeadmin'''
    ||
    ||
    ||
    || No compilation requirements
     
    |- valign="top"
    || '''kdeartwork'''
    || Strigi
    || Xscreensaver
    || OpenGL
    ||
     
    |- valign="top"
    || '''kdeedu'''
    || Zlib
    ||
    || BoostPython,<br>
    CFitsio,<br>
    Eigen,<br>
    Libfacile,<br>
    Nova,<br>
    OCaml,<br>
    OpenBabel2,<br>
    OpenGL,<br>
    Readline,<br>
    SBIG,<br>
    LibUSB
    ||
     
    |- valign="top"
    || '''kdegames'''
    ||
    ||
    || GGZ,<br> OpenGL
    ||
     
    |- valign="top"
    || '''kdegraphics'''
    || Strigi
    || Blitz,<br>
    Exiv2,<br>
    JPEG,<br>
    LibGS,<br>
    Poppler,<br>
    SANE,<br>
    || CHM,<br>
    DjVuLibre,<br>
    Freetype,<br>
    Gphoto2,<br>
    TIFF
    ||
     
    |- valign="top"
    || '''kdemultimedia'''
    || ALSA
    ||
    ||Cdparanoia,<br>
    FLAC,<br>
    MusicBrainz,<br>
    OggVorbis,<br>
    Taglib,<br>
    Theora,<br>
    TunePimp
    ||
     
    |- valign="top"
    || '''kdenetwork'''
    || Blitz,<br>
    Boost,<br>
    ZLib
    || OpenSSL
    ||
    Decibel,<br>
    DNSSD,<br>
    IDN,<br>
    JPEG,<br>
    LibVNCServer,<br>
    LibXml2,<br>
    LibXslt,<br>
    QCA2,<br>
    SLP,<br>
    Sqlite,<br>
    Xmms
    ||
     
    |- valign="top"
    || '''kdepim'''
    || Boost,<br> QGpgme,<br> Strigi,<br> ZLib
    || OpenSSL
    || GLib2,<br> GNOKII,<br> LibXslt,<br> LibMal,<br> MySQL (Embedded),<br> OpenSync,<br> Pilotlink,<br> QCA2
    || Only xsltproc needed from the libXslt package
     
    |- valign="top"
    || '''kdesdk'''
    || Strigi
    ||
    || LibXml2,<br>
    LibXslt,<br>
    Subversion,<br> CVS
    ||
     
    |- valign="top"
    || '''kdeutils'''
    || Blitz
    ||
    ||GMP,<br>
    LibZip,<br>
    Python Libs,<br>
    tpctl
    ||
     
    |- valign="top"
    || '''kdetoys'''
    || Strigi
    ||
    ||
    ||
     
    |}

    Revision as of 23:50, 1 November 2008

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

    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 4.0.0 is not supported
    4.1 Supported
    4.2 Supported
    4.3 Experimental May or may not work, but patches are accepted
    Microsoft VisualStudio 6.0 Not supported
    .NET 2002 Not supported
    .NET 2003 Supported
    .NET 2005 Supported Including the Express version
    .NET 2008 Supported No reports yet of success, but there shouldn't be problems
    SunStudio 11 Unknown
    12 Ongoing Support is being worked on

    Software Requirements, by Function

    Basic

    Package Level Description Explanation Modules
    Qt >= 4.3.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
    CMake >= 2.4.5 Required CMake is a cross-platform make system used that forms the basis of the KDE4 buildsystem. Note: CMake >= 2.6.0 with chrpath is recommended for faster linking time, but not required. CMake is required to build 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
    FooPackage Recommended Foo description Foo explanation kdemodule,
    kdemodule,
    kdemodule

    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
    FooPackage Recommended Foo description Foo explanation kdemodule,
    kdemodule,
    kdemodule

    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
    FooPackage Recommended Foo description Foo explanation kdemodule,
    kdemodule,
    kdemodule

    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
    FooPackage Recommended Foo description Foo explanation kdemodule,
    kdemodule,
    kdemodule

    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
    FooPackage Recommended Foo description Foo explanation kdemodule,
    kdemodule,
    kdemodule

    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
    FooPackage Recommended Foo description Foo explanation kdemodule,
    kdemodule,
    kdemodule

    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,
    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
    FooPackage Recommended Foo description Foo explanation kdemodule,
    kdemodule,
    kdemodule

    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
    FooPackage Recommended Foo description Foo explanation kdemodule,
    kdemodule,
    kdemodule

    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
    FooPackage Recommended Foo description Foo explanation kdemodule,
    kdemodule,
    kdemodule

    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