Schedules/KDE4/4.0 Requirements: Difference between revisions

From KDE TechBase
(add move to community notice)
 
(35 intermediate revisions by 8 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 KDE modules.
|| 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.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]
| 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
|| 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://www.alsa-project.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.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
|| BlueZ,<br> Freetype,<br> GLIB2,<br> GObject,<br> LibXKlavier,<br> NetworkManager,<br> RAW1394,<br> Sensors,<br> LibUSB
||
 
|- valign="top"
|| '''kdebase-apps'''
|| Blitz,<br> Strigi
||
|| Nepomuk,<br> Soprano,<br> XKB
||
 
|- valign="top"
|| '''kdeaccessibility'''
||
||
|| ALSA
||
 
|- valign="top"
|| '''kdeadmin'''
||
||
||
||
 
|- valign="top"
|| '''kdeartwork'''
|| Strigi
|| Xscreensaver
|| OpenGL
||
 
|- valign="top"
|| '''kdepim'''
|| Boost,<br> QGpgme,<br> Strigi,<br> ZLib
|| OpenSSL
|| GLIB2,<br> GNOKII,<br> LibXslt,<br> Mal,<br> MySQL,<br> Nepomuk,<br> Opensync,<br> Pilotlink,<br> QCA2
|| Only xsltproc needed from the libXslt package
 
|- valign="top"
|| '''kdefoo'''
||
||
||
||
 
|}

Latest revision as of 10:57, 16 March 2016

This page is now on the community wiki.