Schedules/KDE4/4.0 Requirements: Difference between revisions
→Basic: add CMake |
m 83 revisions imported: Import Schedules subpages from techbase |
||
(17 intermediate revisions by 5 users not shown) | |||
Line 1: | Line 1: | ||
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 = | |||
<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. | ||
Line 70: | Line 71: | ||
|} | |} | ||
= Software Requirements, by Function = | |||
== Basic == | |||
{| border="1" cellpadding="5" cellspacing="0" align="center" | {| border="1" cellpadding="5" cellspacing="0" align="center" | ||
|- | |- | ||
Line 80: | 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. | ||
Line 86: | Line 87: | ||
|| ALL | || ALL | ||
|- valign="top" | |- valign="top" | ||
| [http://cmake.org CMake >= 2.4. | | [http://cmake.org CMake >= 2.4.5] | ||
|style="background:red"| Required | |style="background:red"| Required | ||
|| CMake is a cross-platform make system used that forms the basis of the KDE4 buildsystem. | || 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. | || 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 | || ALL | ||
|- valign="top" | |- valign="top" | ||
Line 105: | Line 112: | ||
|} | |} | ||
== Help == | |||
{| border="1" cellpadding="5" cellspacing="0" align="center" | {| border="1" cellpadding="5" cellspacing="0" align="center" | ||
|- | |- | ||
Line 127: | Line 134: | ||
|} | |} | ||
== Hardware == | |||
{| border="1" cellpadding="5" cellspacing="0" align="center" | {| border="1" cellpadding="5" cellspacing="0" align="center" | ||
|- | |- | ||
Line 149: | Line 156: | ||
|} | |} | ||
== Networking == | |||
{| border="1" cellpadding="5" cellspacing="0" align="center" | {| border="1" cellpadding="5" cellspacing="0" align="center" | ||
|- | |- | ||
Line 183: | Line 190: | ||
|} | |} | ||
== Browsing == | |||
{| border="1" cellpadding="5" cellspacing="0" align="center" | {| border="1" cellpadding="5" cellspacing="0" align="center" | ||
|- | |- | ||
Line 205: | Line 212: | ||
|} | |} | ||
== Security == | |||
{| border="1" cellpadding="5" cellspacing="0" align="center" | {| border="1" cellpadding="5" cellspacing="0" align="center" | ||
|- | |- | ||
Line 227: | Line 234: | ||
|} | |} | ||
== Graphics == | |||
{| border="1" cellpadding="5" cellspacing="0" align="center" | {| border="1" cellpadding="5" cellspacing="0" align="center" | ||
|- | |- | ||
Line 242: | Line 249: | ||
|| kdelibs,<br> kdebase,<br> kdegraphics,<br> kdemultimedia | || kdelibs,<br> kdebase,<br> kdegraphics,<br> kdemultimedia | ||
|- valign="top" | |- valign="top" | ||
| [http://poppler.freedesktop.org Poppler] | | [http://poppler.freedesktop.org Poppler-Qt4] | ||
| style="background:yellow"|Recommended | | style="background:yellow"|Recommended | ||
|| PDF rendering library | || PDF rendering library | ||
|| Adds PDF support to | || Adds PDF support to Okular | ||
|| kdegraphics | || kdegraphics | ||
|- valign="top" | |- valign="top" | ||
| [http:// | | [http://libspectre.freedesktop.org/ libspectre] | ||
| style="background:yellow"|Recommended | | style="background:yellow"|Recommended | ||
|| | || PostScript library | ||
|| Adds | || Adds PostScript support to Okular (including support for printing preview in any KDE application) | ||
|| kdegraphics | || kdegraphics | ||
|- valign="top" | |- valign="top" | ||
| [http://morte.jedrea.com/~jedwin/projects/chmlib | | [http://morte.jedrea.com/~jedwin/projects/chmlib chmlib] | ||
| style="background:yellow"|Recommended | | style="background:yellow"|Recommended | ||
|| CHM library | || CHM library | ||
|| Adds CHM support to | || Adds CHM support to Okular | ||
|| kdegraphics | || kdegraphics | ||
|- valign="top" | |- valign="top" | ||
| [http://djvu.sourceforge.net/ | | [http://djvu.sourceforge.net/ DjVuLibre] | ||
| style="background:yellow"|Recommended | | style="background:yellow"|Recommended | ||
|| DjVu library | || DjVu library | ||
|| Adds DjVu support to | || Adds DjVu support to Okular | ||
|| kdegraphics | || kdegraphics | ||
|- valign="top" | |- valign="top" | ||
Line 269: | Line 276: | ||
| style="background:yellow"|Recommended | | style="background:yellow"|Recommended | ||
|| TIFF library | || TIFF library | ||
|| Adds TIFF support to | || Adds TIFF support to Okular | ||
|| kdegraphics | || kdegraphics | ||
|- valign="top" | |- valign="top" | ||
Line 275: | Line 282: | ||
| style="background:yellow"|Recommended | | style="background:yellow"|Recommended | ||
|| JPEG library | || JPEG library | ||
|| Needed for PalmDB | || 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 | || kdegraphics | ||
|- valign="top" | |- valign="top" | ||
Line 281: | Line 294: | ||
| style="background:yellow"|Recommended | | style="background:yellow"|Recommended | ||
|| CUPS version of lpr or lp commands | || CUPS version of lpr or lp commands | ||
|| Needed for advanced printing of PDF, PS, or | || Needed for advanced printing of PDF, PS, or DjVu docments in Okular | ||
|| kdegraphics | || kdegraphics | ||
|- valign="top" | |- valign="top" | ||
Line 291: | Line 304: | ||
|} | |} | ||
== Multimedia == | |||
{| border="1" cellpadding="5" cellspacing="0" align="center" | {| border="1" cellpadding="5" cellspacing="0" align="center" | ||
|- | |- | ||
Line 321: | Line 334: | ||
Note: at least one Phonon backend must be compiled if you want to have any multimedia support. | 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" | {| border="1" cellpadding="5" cellspacing="0" align="center" | ||
|- | |- | ||
Line 330: | Line 343: | ||
! Modules | ! Modules | ||
|- valign="top" | |- valign="top" | ||
| [http:// | | [http://subversion.tigris.org Subversion] | ||
|style="background:green"| Optional | |style="background:green"| Optional | ||
|| Subversion is a revision control system like CVS. | || 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. | || KDevelop 3.0 can use Subversion to maintain a revision control repository for projects. There is also a kioslave for Subversion. | ||
|| kdesdk,<br> kdevelop | || 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" | |- valign="top" | ||
| [http://www.foo.org FooPackage] | | [http://www.foo.org FooPackage] | ||
Line 343: | Line 362: | ||
|} | |} | ||
== Education == | |||
{| border="1" cellpadding="5" cellspacing="0" align="center" | {| border="1" cellpadding="5" cellspacing="0" align="center" | ||
|- | |- | ||
Line 371: | Line 390: | ||
|} | |} | ||
= Software Requirements, by Module = | |||
{| border="1" cellpadding="5" cellspacing="0" align="center" | {| border="1" cellpadding="5" cellspacing="0" align="center" | ||
Line 412: | Line 431: | ||
|| Blitz,<br> Strigi | || Blitz,<br> Strigi | ||
|| | || | ||
|| | || Soprano,<br> XKB | ||
|| | || | ||
Line 513: | Line 532: | ||
|| Boost,<br> QGpgme,<br> Strigi,<br> ZLib | || Boost,<br> QGpgme,<br> Strigi,<br> ZLib | ||
|| OpenSSL | || OpenSSL | ||
|| GLib2,<br> GNOKII,<br> LibXslt,<br> LibMal,<br> MySQL (Embedded) | || GLib2,<br> GNOKII,<br> LibXslt,<br> LibMal,<br> MySQL (Embedded),<br> OpenSync,<br> Pilotlink,<br> QCA2 | ||
|| Only xsltproc needed from the libXslt package | || Only xsltproc needed from the libXslt package | ||
Line 522: | Line 541: | ||
|| LibXml2,<br> | || LibXml2,<br> | ||
LibXslt,<br> | LibXslt,<br> | ||
Subversion | Subversion,<br> CVS | ||
|| | || | ||
Line 528: | Line 547: | ||
|| '''kdeutils''' | || '''kdeutils''' | ||
|| Blitz | || Blitz | ||
|| | || | ||
||GMP,<br> | ||GMP,<br> | ||
Line 534: | Line 552: | ||
Python Libs,<br> | Python Libs,<br> | ||
tpctl | tpctl | ||
|| | |||
|- valign="top" | |- valign="top" |
Latest revision as of 18:52, 8 March 2016
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 | 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, |
||
kdegames | GGZ, OpenGL |
|||
kdegraphics | Strigi | Blitz, Exiv2, |
CHM, DjVuLibre, |
|
kdemultimedia | ALSA | Cdparanoia, FLAC, |
||
kdenetwork | Blitz, Boost, |
OpenSSL |
Decibel, |
|
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, |
||
kdeutils | Blitz | GMP, LibZip, |
||
kdetoys | Strigi |