Schedules/KDE4/4.0 Requirements: Difference between revisions

    From KDE TechBase
    (revert Qt requirement)
    (add move to community notice)
     
    (9 intermediate revisions by 3 users not shown)
    Line 1: Line 1:
    = KDE 4.0 Compilation Requirements =
    {{Moved To Community}}
    == 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.
     
    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.
     
    {|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, by Function ==
    === Basic ===
    {| border="1" cellpadding="5" cellspacing="0" align="center"
    |-
    ! Package
    ! Level
    ! Description
    ! Explanation
    ! Modules
    |- valign="top"
    | [http://www.trolltech.com Qt >= 4.3]
    |style="background:red"| 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
    |- 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.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 ===
    {| border="1" cellpadding="5" cellspacing="0" align="center"
    |-
    ! Package
    ! Level
    ! Description
    ! Explanation
    ! Modules
    |- valign="top"
    | [http://www.xmlsoft.org libxml2 >= 2.4.8]
    |style="background:yellow"| 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,<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 ===
    {| border="1" cellpadding="5" cellspacing="0" align="center"
    |-
    ! Package
    ! Level
    ! Description
    ! Explanation
    ! Modules
    |- valign="top"
    | [http://www.cups.org CUPS >= 1.1.9]
    |style="background:green"| 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,<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
    |}
     
    === Graphics ===
    {| border="1" cellpadding="5" cellspacing="0" align="center"
    |-
    ! Package
    ! Level
    ! 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://www.ghostscript.com/awki/Releases Ghostscript]
    | style="background:yellow"|Recommended
    || PS library
    || Adds PS support to okular (including support for printing preview in any KDE application)
    || kdegraphics
    |- valign="top"
    | [http://morte.jedrea.com/~jedwin/projects/chmlib libchm]
    | 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 docments 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
    ||
    ||
    ||
     
    |}

    Latest revision as of 10:57, 16 March 2016

    This page is now on the community wiki.