Schedules/KDE4/4.3 Requirements: Difference between revisions

From KDE TechBase
(add move to community notice)
 
(4 intermediate revisions by 3 users not shown)
Line 1: Line 1:
KDE 4.3 Compilation Requirements -- intended to be a comprehensive list of all external software needed to build a full-featured KDE 4.3.
{{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
|style="background:red"|gcc 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:green"| 4.3
|style="background:green"| Supported
|
|-
! 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
| Including the Express version
|-
! rowspan=3 | SunStudio
|style="background:red"| 11
|style="background:red"| Not supported
|
|-
|style="background:green"| 12
|style="background:green"| Supported
| See [[Projects/KDE_on_Solaris | KDE on Solaris]] for more information
|}
 
= Buildsystem =
{| border="1" cellpadding="5" cellspacing="0" align="center"
|-
! Platform
! Package
! Level
! Description
! Explanation
! Modules
|- valign="top"
| ALL
| [http://cmake.org CMake >= 2.6.2]
|style="background:red"| Required
|| CMake is a cross-platform make system used that forms the basis of the KDE4 buildsystem.
|| CMake is required to build all KDE4 code on all platforms.
|| ALL
|- valign="top"
| Linux, Unix
| Make or [http://www.gnu.org/software/make GNU Make]
| style="background:red"| Required
| Make is a tool which controls the generation of executables and other non-source files of a program from the program's source files.
| Any version shipped with your operating system should be ok.
|| ALL
|}
 
= Software Requirements, by Function =
== Basic ==
{| border="1" cellpadding="5" cellspacing="0" align="center"
|-
! Package
! Level
! Description
! Explanation
! Modules
|- valign="top"
| [http://www.trolltech.com Qt 4.4]<BR > [http://bugs.kde.org/show_bug.cgi?id=174964 >= 4.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://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
|}
 
== 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
|}
 
== 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
|}
 
== 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
|}
 
== 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
|}
 
== 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.cypherpunks.ca/otr LibOTR >= 3.2.0]
|style="background:green"| Optional
|| Off The Record is an encryption library optimized for instant messaging.
|| Kopete offers a plugin to use OTR encryption if the library is available.
|| kdenetwork
|}
 
== 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> kdegames,<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
|}
 
== 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
|}
 
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
|}
 
== 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.