<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.trinitydesktop.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Cethyel</id>
	<title>Trinity Desktop Project Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.trinitydesktop.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Cethyel"/>
	<link rel="alternate" type="text/html" href="https://wiki.trinitydesktop.net/Special:Contributions/Cethyel"/>
	<updated>2026-04-28T23:41:39Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.35.13</generator>
	<entry>
		<id>https://wiki.trinitydesktop.net/index.php?title=How_to_Build_TDE_Core_Modules&amp;diff=1621</id>
		<title>How to Build TDE Core Modules</title>
		<link rel="alternate" type="text/html" href="https://wiki.trinitydesktop.net/index.php?title=How_to_Build_TDE_Core_Modules&amp;diff=1621"/>
		<updated>2021-06-27T12:03:15Z</updated>

		<summary type="html">&lt;p&gt;Cethyel: /* Performing a cmake Build with Ninja */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Documentation]]&lt;br /&gt;
[[Category:Installation]]&lt;br /&gt;
[[Category:Developers]]&lt;br /&gt;
This HowTo provides detailed notes and explanations for building the Trinity Desktop Environment base&lt;br /&gt;
packages.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Introduction and Requirements==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Basic Building Requirements===&lt;br /&gt;
&lt;br /&gt;
Individual Linux distributions might have different build requirements. If these are known they will be available &lt;br /&gt;
on the Distribution Specific Builds page.&lt;br /&gt;
&lt;br /&gt;
There is an ongoing effort to convert the build process from autotools to cmake. Until the cmake conversion is &lt;br /&gt;
complete, both cmake and autotools are needed to build Trinity packages. cmake 2.8.12 or more recent is expected &lt;br /&gt;
when building with cmake.&lt;br /&gt;
&lt;br /&gt;
To build the packages still using autotools, you will need a standard autotools setup (automake, autoconf, etc.)&lt;br /&gt;
&lt;br /&gt;
You&amp;#039;ll also need a C++ compiler. g++ from the GNU Compiler Collection is the most usual, the current GIT version of Trinity has been tested &lt;br /&gt;
against versions up to and including 4.6. clang++ is also supported.&lt;br /&gt;
&lt;br /&gt;
===Other Requirements===&lt;br /&gt;
&lt;br /&gt;
(NOTE:  List compiled from old QT3/kdelibs/kde-base ebuilds--will someone please check these?)&lt;br /&gt;
&lt;br /&gt;
Most of the non-build-related mandatory dependencies for the core Trinity packages are pretty basic:&lt;br /&gt;
&lt;br /&gt;
*an X server&lt;br /&gt;
*openssl&lt;br /&gt;
*fontconfig&lt;br /&gt;
*freetype&lt;br /&gt;
*ghostscript&lt;br /&gt;
*xdg support&lt;br /&gt;
*libpng&lt;br /&gt;
*libmng&lt;br /&gt;
&lt;br /&gt;
If your Linux distribution came with any kind of graphical environment at all, you should already have&lt;br /&gt;
this stuff.&lt;br /&gt;
&lt;br /&gt;
To build tdepim, you will also need libical (standard on many distros).&lt;br /&gt;
&lt;br /&gt;
See Additional Functionality for a list of optional dependencies and what they enable.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===About QT3===&lt;br /&gt;
&lt;br /&gt;
Trinity uses the QT3 widget toolkit.  Since Trolltech, the original owners, dropped support for QT3&lt;br /&gt;
several years ago, the Trinity Project has taken over QT3&amp;#039;s maintenance.  In other words, we&amp;#039;re now&lt;br /&gt;
QT3 upstream, and you should be obtaining your QT3 sources from the Trinity package tarballs or GIT repository.&lt;br /&gt;
&lt;br /&gt;
The version of QT3 used with Trinity 3.5.13 and later incorporates numerous patches.  If you&amp;#039;re trying to &lt;br /&gt;
use an old QT3/KDE3 packaging build setup for your distribution with Trinity&amp;#039;s QT3, don&amp;#039;t be too surprised &lt;br /&gt;
if some patches don&amp;#039;t apply.  Unless the patch is distribution-specific, chances are that it&amp;#039;s been added&lt;br /&gt;
to the main source tree.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===About libart===&lt;br /&gt;
&lt;br /&gt;
libart-lgpl is another dependency package that the Trinity Project has taken over after it was &lt;br /&gt;
[https://bugzilla.gnome.org/show_bug.cgi?id=155472#c4 dropped] by its original maintainer, because &lt;br /&gt;
it needed several [http://git.trinitydesktop.org/cgit/libart-lgpl/diff/?id=150562b89b645c402f1bb837a09f8b84bf6e49ec patches] &lt;br /&gt;
to prevent crashes.  The version of libart provided by the Trinity Project includes those patches and is &lt;br /&gt;
intended to be a replacement for any version of libart currently installed by any distro. Build this patched version &lt;br /&gt;
of libart and replace the stock libart installed with the distro.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Coexisting with QT4/KDE4===&lt;br /&gt;
&lt;br /&gt;
Trinity is intended to be able to run on computers that also have KDE4 installed.  Originally, a lot of&lt;br /&gt;
Trinity applications had the same names as their KDE4 counterparts, which was problematic.  All of &lt;br /&gt;
those have been renamed.  In general, this was accomplished by changing the old KDE &amp;quot;K&amp;quot; prefix to a &lt;br /&gt;
&amp;quot;T&amp;quot; (&amp;quot;kwin&amp;quot; -&amp;gt; &amp;quot;twin&amp;quot;).  Applications that don&amp;#039;t match anything currently part of KDE4 have retained their &lt;br /&gt;
old names.&lt;br /&gt;
&lt;br /&gt;
To avoid stepping on KDE4&amp;#039;s toes, we &amp;#039;&amp;#039;strongly&amp;#039;&amp;#039; suggest picking a specific subdirectory prefix to install Trinity&lt;br /&gt;
to--the one used in these directions is $PREFIX=/opt/trinity.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Preparing the Source==&lt;br /&gt;
&lt;br /&gt;
To use the release tarballs, just untar them somewhere.&lt;br /&gt;
&lt;br /&gt;
To live dangerously and use the GIT sources, read [[Notes on GIT Sources]] first.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Building==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Suggested Build Order===&lt;br /&gt;
&lt;br /&gt;
A lot of the Trinity core packages depend on one another (in particular, everything depends on tdelibs).&lt;br /&gt;
Follow this build order to prevent problems.&lt;br /&gt;
&lt;br /&gt;
Start with the required core packages:&lt;br /&gt;
&lt;br /&gt;
#tqt3 (replaces Qt3; Qt3 without the tqtinterface layer remains available)&lt;br /&gt;
#cmake-trinity&lt;br /&gt;
#tqtinterface&lt;br /&gt;
#arts&lt;br /&gt;
#dbus-tqt&lt;br /&gt;
#dbus-1-tqt&lt;br /&gt;
#tqca-tls (Recommended but required for some applications, such as the Kopete OTR add-on)&lt;br /&gt;
#libart-lgpl&lt;br /&gt;
#avahi-tqt (Recommended but required when supporting DNS discovery services)&lt;br /&gt;
#tdelibs&lt;br /&gt;
#tdebase&lt;br /&gt;
&lt;br /&gt;
At this point, you should have a functioning TDE desktop with basic utilities (terminal, file manager,&lt;br /&gt;
text/source editors, etc.)  If you&amp;#039;re going to build tdebindings and want Python support available,&lt;br /&gt;
continue with the Python linking packages (or skip over them if you don&amp;#039;t care about Python support):&lt;br /&gt;
&lt;br /&gt;
#sip4-tqt&lt;br /&gt;
#python-tqt&lt;br /&gt;
#pytdeextensions&lt;br /&gt;
#python-trinity&lt;br /&gt;
#tqscintilla &lt;br /&gt;
&lt;br /&gt;
The following build order seems to work well for the remaining core packages when building the stable release.&lt;br /&gt;
You don&amp;#039;t have to install everything, though, unless you&amp;#039;re packaging TDE for your distribution--pick the packages &lt;br /&gt;
that suit your use case.&lt;br /&gt;
&lt;br /&gt;
#tdebindings&lt;br /&gt;
#tdeaccessibility&lt;br /&gt;
#tdeutils&lt;br /&gt;
#tdemultimedia&lt;br /&gt;
#tdenetwork&lt;br /&gt;
#tdeadmin&lt;br /&gt;
#tdeartwork&lt;br /&gt;
#tdegames&lt;br /&gt;
#tdetoys&lt;br /&gt;
#tdeedu&lt;br /&gt;
#tdegraphics&lt;br /&gt;
#tdepim&lt;br /&gt;
#tdesdk (Build tdesdk after installing tdepim. tdepim provides libkcal (bugzilla) hooks for tdesdk.)&lt;br /&gt;
#tdevelop (Build tdevelop after tdesdk. tdesdk provides cvs support for tdevelop.)&lt;br /&gt;
#tdeaddons &lt;br /&gt;
&lt;br /&gt;
Once that&amp;#039;s done, you may want to add [[How to Build Extra Applications|some extra applications]] on top.&lt;br /&gt;
&lt;br /&gt;
===Building Packages with cmake===&lt;br /&gt;
&lt;br /&gt;
Starting from TDE version R14.0.11, the package cmake-trinity is mandatory prior to building, this package includes the required macros for the build.&lt;br /&gt;
&lt;br /&gt;
====List of Packages Building with cmake====&lt;br /&gt;
&lt;br /&gt;
cmake is the newer, easier, and more maintainable build system the Trinity Project is in the process of porting TDE source to.&lt;br /&gt;
&lt;br /&gt;
The list of modules maintained as an [https://mirror.git.trinitydesktop.org/gitea/TDE/tde/issues/9 issue #9 in the TGW] indicates which core and dependency packages have already been converted, and their autotools build scripts are no longer maintained. Some other packages are in the process of conversion, but do not have complete cmake build scripts yet. Build everything not in the list above with autotools.&lt;br /&gt;
&lt;br /&gt;
Read the notes section below for individual package requirements before trying to build anything.&lt;br /&gt;
&lt;br /&gt;
====Performing a cmake Build with Ninja====&lt;br /&gt;
&lt;br /&gt;
The command listing below is only an example.  You will wish to edit the exports if your distribution&lt;br /&gt;
puts things in unusual locations or if you wish to install to somewhere other than /opt/trinity (tqtinterface&lt;br /&gt;
has special requirements--see the Notes).  Not all exports will be needed on all systems.&lt;br /&gt;
&lt;br /&gt;
 export PREFIX=/opt/trinity&lt;br /&gt;
 export SYSCONFDIR=/etc/trinity&lt;br /&gt;
 export LIBDIR=$PREFIX/lib&lt;br /&gt;
 export MANDIR=$PREFIX/man&lt;br /&gt;
 export TQTDIR=$PREFIX/tqt3&lt;br /&gt;
 export PATH=$TQTDIR/bin:$PREFIX/bin:$PATH&lt;br /&gt;
 export LD_LIBRARY_PATH=$LIBDIR:$LIBDIR/trinity:$LD_LIBRARY_PATH&lt;br /&gt;
 export PKG_CONFIG_PATH=:$LIBDIR/pkgconfig:$TQTDIR/lib/pkgconfig:$PKG_CONFIG_PATH&lt;br /&gt;
 # for lib64:&lt;br /&gt;
 # export LIBDIRSUFFIX=64&lt;br /&gt;
 #&lt;br /&gt;
 from the Trinity module:&lt;br /&gt;
 mkdir -p build &amp;amp;&amp;amp; cd build&lt;br /&gt;
 cmake -G &amp;quot;Ninja&amp;quot; \&lt;br /&gt;
    -DCMAKE_EXPORT_COMPILE_COMMANDS=&amp;quot;ON&amp;quot; \&lt;br /&gt;
    -DCMAKE_BUILD_TYPE=RelWithDebInfo \&lt;br /&gt;
    -DCMAKE_SKIP_RPATH=&amp;quot;OFF&amp;quot; \&lt;br /&gt;
    -DCMAKE_INSTALL_PREFIX=${PREFIX} \&lt;br /&gt;
    -DSYSCONF_INSTALL_DIR=${SYSCONFDIR} \&lt;br /&gt;
    -DLIB_SUFFIX=${LIBDIRSUFFIX} \&lt;br /&gt;
    -DMAN_INSTALL_DIR=${MANDIR} \&lt;br /&gt;
    -DBUILD_ALL=&amp;quot;ON&amp;quot; \&lt;br /&gt;
    -DWITH_ALL_OPTIONS=&amp;quot;ON&amp;quot; ..&lt;br /&gt;
  cmake --build . -- -v&lt;br /&gt;
&lt;br /&gt;
====Notes====&lt;br /&gt;
&lt;br /&gt;
*Until the cmake migration is fully completed, tqtinterface should be built to install with a $PREFIX of /usr rather than /opt/trinity, even if you are installing everything else to /opt/trinity.&lt;br /&gt;
&lt;br /&gt;
*tqtinterface requires the following additional QT-related build option:&lt;br /&gt;
&lt;br /&gt;
 -DQT_VERSION=3&lt;br /&gt;
&lt;br /&gt;
*arts and tdelibs execute compiled binaries as part of the build process. Therefore they need to have -DCMAKE_SKIP_RPATH=&amp;quot;OFF&amp;quot; set. All other modules do not need the RPATH set.&lt;br /&gt;
&lt;br /&gt;
*When building on 64-bit, the following (T)Qt3 configuration option might need to be explicitly declared in some distro build scripts:&lt;br /&gt;
&lt;br /&gt;
 -platform linux-g++-64 (rather than linux-g++ (notice the dash!))&lt;br /&gt;
&lt;br /&gt;
*If class constructor issues surface during the build, please post the error to the trinity-users list.&lt;br /&gt;
&lt;br /&gt;
===Building Packages with Autoconf===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Introduction====&lt;br /&gt;
&lt;br /&gt;
If the package you&amp;#039;re trying to build is on the list of those that will build with cmake, try that first, because &lt;br /&gt;
its autotools files will be unmaintained, bit-rotted, and possibly outright broken.&lt;br /&gt;
&lt;br /&gt;
Please read the notes section below for individual package requirements before trying to build anything.&lt;br /&gt;
&lt;br /&gt;
For those packages that still need to be built with autotools, the following steps must be run for each affected &lt;br /&gt;
Trinity module, including tarball snapshots.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Regenerate Autoconf/Automake files====&lt;br /&gt;
&lt;br /&gt;
cd to the desired module to build, then run:&lt;br /&gt;
&lt;br /&gt;
 cp -Rp &amp;lt;path to your system&amp;#039;s libtool.m4 file&amp;gt; admin/libtool.m4.in&lt;br /&gt;
 cp -Rp &amp;lt;path to your system&amp;#039;s ltmain.sh file&amp;gt; admin/ltmain.sh&lt;br /&gt;
 make -f admin/Makefile.common&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Configure and Build====&lt;br /&gt;
&lt;br /&gt;
 export PREFIX=/opt/trinity&lt;br /&gt;
 export SYSCONFDIR=/etc/trinity&lt;br /&gt;
 export LIBDIR=/opt/trinity/lib&lt;br /&gt;
 export MANDIR=/opt/trinity/man&lt;br /&gt;
 export QTDIR=/opt/trinity/lib/qt3-3.3.8.d&lt;br /&gt;
 export PATH=/opt/trinity/qt3-3.3.8.d/bin:/opt/trinity/bin:$PATH&lt;br /&gt;
 export LD_LIBRARY_PATH=/opt/trinity/lib:/opt/trinity/lib/trinity:$LD_LIBRARY_PATH&lt;br /&gt;
 export PKG_CONFIG_PATH=:/opt/trinity/lib/pkgconfig:/opt/trinity/qt3-3.3.8.d/lib/pkgconfig:$PKG_CONFIG_PATH&lt;br /&gt;
 # Enable only one of the following:&lt;br /&gt;
 # export DEBUG_AUTOTOOL_OPT=&amp;quot;--enable-debug=full&amp;quot;&lt;br /&gt;
 export DEBUG_AUTOTOOL_OPT=&amp;quot;--disable-debug&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
  CFLAGS=$CPUOPT \&lt;br /&gt;
  CXXFLAGS=$CPUOPT \&lt;br /&gt;
  ./configure \&lt;br /&gt;
    --prefix=${PREFIX} \&lt;br /&gt;
    --sysconfdir=${SYSCONFDIR} \&lt;br /&gt;
    --libdir=${LIBDIR} \&lt;br /&gt;
    --mandir=${MANDIR} \&lt;br /&gt;
    --with-qt-dir=${QTDIR} \&lt;br /&gt;
    --with-qt-includes=${QTDIR}/include \&lt;br /&gt;
    --with-qt-libraries=${QTDIR}/lib \&lt;br /&gt;
    $DEBUG_AUTOTOOL_OPT&lt;br /&gt;
&lt;br /&gt;
View the Distribution Specific Builds page for additional configure options.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Notes====&lt;br /&gt;
&lt;br /&gt;
*Certain modules will not build across multiple cores in parallel. That is, with a &amp;quot;make -j&amp;quot; flag set to anything greater than 1. These packages are:&lt;br /&gt;
**tdebindings (some people have no problems with this package and parallel processing)&lt;br /&gt;
**tdemultimedia (some people have no problems with this package and parallel processing) &lt;br /&gt;
&lt;br /&gt;
*Not well documented anywhere, but when building with automake several packages need the --enable-closure configure option:&lt;br /&gt;
**tdeaccessibility&lt;br /&gt;
**tdeaddons&lt;br /&gt;
**tdeadmin&lt;br /&gt;
**tdebindings&lt;br /&gt;
**tdeedu&lt;br /&gt;
**tdegames&lt;br /&gt;
**tdemultimedia&lt;br /&gt;
**tdesdk&lt;br /&gt;
&lt;br /&gt;
*When building on 64-bit, the following (T)Qt3 configuration option might need to be explicitly declared in some distro build scripts:&lt;br /&gt;
&lt;br /&gt;
 -platform linux=g++-64 (rather than linux-g++ (notice the dash!))&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Build Times===&lt;br /&gt;
&lt;br /&gt;
Building Trinity requires time and patience. Build times vary. Here are some guidelines from building &lt;br /&gt;
Trinity 3.5.12 on a dual core 2.3 GHz AM2 with 4GB of RAM, using tmpfs, 7200 rpm SATA II hard drives; &lt;br /&gt;
with Amarok, Firefox, Konsole, Konqueror, Kate, and other various apps often running concurrently. Compile &lt;br /&gt;
times will be faster without such overhead, but likely will be longer when building with support package hooks.&lt;br /&gt;
Packages using cmake will build faster than those still stuck on autotools.&lt;br /&gt;
&lt;br /&gt;
*tqtinterface: 2 minutes&lt;br /&gt;
*arts: 4 minutes&lt;br /&gt;
*tdelibs: 44 minutes&lt;br /&gt;
*tdebase: 33 minutes&lt;br /&gt;
*tdebindings: 36 minutes&lt;br /&gt;
*tdeaccessibility: 5 minutes&lt;br /&gt;
*tdeutils: 8 minutes&lt;br /&gt;
*tdemultimedia: 24 minutes&lt;br /&gt;
*tdenetwork: 23 minutes&lt;br /&gt;
*tdeadmin: 4 minutes&lt;br /&gt;
*tdeartwork: 3 minutes&lt;br /&gt;
*tdegames: 8 minutes&lt;br /&gt;
*tdetoys: 2 minutes&lt;br /&gt;
*tdeedu: 15 minutes&lt;br /&gt;
*tdegraphics: 17 minutes&lt;br /&gt;
*tdesdk: 14 minutes&lt;br /&gt;
*tdevelop: 27 minutes&lt;br /&gt;
*tdeaddons: 7 minutes&lt;br /&gt;
*tdewebdev: 12 minutes&lt;br /&gt;
*tdepim: 63 minutes &lt;br /&gt;
&lt;br /&gt;
Approximate total time: 5 hours 51 minutes&lt;br /&gt;
&lt;br /&gt;
Time to a functional system (basic desktop): 1 hour 23 minutes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Installing==&lt;br /&gt;
&lt;br /&gt;
The command is the same regardless of whether your package was built with cmake or autotools:&lt;br /&gt;
&lt;br /&gt;
 make install || exit 1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Additional Functionality==&lt;br /&gt;
&lt;br /&gt;
Certain Trinity packages gain additional functionality when compiled with additional dependencies available.&lt;br /&gt;
Also, we maintain some libraries which provide purely optional functionality.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Optional Trinity Libraries===&lt;br /&gt;
&lt;br /&gt;
None of these Trinity libraries are required but all provide additional functionality for a variety of packages. &lt;br /&gt;
These libraries must be built and installed before any packages using these libraries can take advantage of the &lt;br /&gt;
additional functionality.&lt;br /&gt;
&lt;br /&gt;
*libkipi: required by kipi-plugins&lt;br /&gt;
*kipi-plugins: several high-end image viewers such as gwenview and digikam&lt;br /&gt;
*libkdcraw: several image viewers and graphics apps, such as chalk and digikam&lt;br /&gt;
*libkexiv2: several image viewers&lt;br /&gt;
*libksquirrel: required by ksquirrel (TDE swiss-army-knife for graphic file formats, also supports medical image formats if xmedcon is provided)&lt;br /&gt;
*libtqt-perl: adept add-on&lt;br /&gt;
*mlt: not required or supported at this time&lt;br /&gt;
*mlt++: not required or supported at this time&lt;br /&gt;
*pytdeextensions: replacement for PyQt3 and PyKDE3, and used by apps such as tdebindings and tde-guidance&lt;br /&gt;
*python-trinity: replacement for PyQt3 and PyKDE3, and used by apps such as tdebindings and tde-guidance &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===List of Optional Dependencies by Trinity Package===&lt;br /&gt;
&lt;br /&gt;
====tdelibs====&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;avahi&amp;#039;&amp;#039;&amp;#039; DNS discovery&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;avahi-tqt&amp;#039;&amp;#039;&amp;#039; Trinity TQt layer for avahi, available in Trinity libraries&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;hspell&amp;#039;&amp;#039;&amp;#039; Hebrew spell checking&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;krb5&amp;#039;&amp;#039;&amp;#039; Kerberos authentication&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;openexr&amp;#039;&amp;#039;&amp;#039; EXR image format &lt;br /&gt;
&lt;br /&gt;
====tdebase====&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;avahi&amp;#039;&amp;#039;&amp;#039; DNS discovery&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;avahi-tqt&amp;#039;&amp;#039;&amp;#039; Trinity TQt layer for avahi, available in Trinity libraries&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;krb5&amp;#039;&amp;#039;&amp;#039; Kerberos authentication&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;openexr&amp;#039;&amp;#039;&amp;#039; EXR image format&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;GraphicsMagick&amp;#039;&amp;#039;&amp;#039; image filters &lt;br /&gt;
&lt;br /&gt;
====tdebindings====&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;Ruby&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;JRE&amp;#039;&amp;#039;&amp;#039; Java Runtime Environment&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;JDK&amp;#039;&amp;#039;&amp;#039; Java Development Kit&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;Python&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;python-trinity&amp;#039;&amp;#039;&amp;#039;, available in Trinity libraries&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;pytdeextensions&amp;#039;&amp;#039;&amp;#039;, available in Trinity libraries &lt;br /&gt;
&lt;br /&gt;
====tdeutils====&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;xmms&amp;#039;&amp;#039;&amp;#039; multimedia player (superkaramba) &lt;br /&gt;
&lt;br /&gt;
====tdemultimedia====&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;cdparanoia&amp;#039;&amp;#039;&amp;#039; digital audio extraction tool (kaudiocreator)&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;speex&amp;#039;&amp;#039;&amp;#039; an audio compression format designed for speech &lt;br /&gt;
&lt;br /&gt;
====tdenetwork====&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;xmms&amp;#039;&amp;#039;&amp;#039; multimedia player (kopete plugins)&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;ortp&amp;#039;&amp;#039;&amp;#039; real-time transport protocol stack under GPL (kopete plugins)&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;speex&amp;#039;&amp;#039;&amp;#039; audio compression format designed for speech (kopete plugins) &lt;br /&gt;
&lt;br /&gt;
====tdeedu====&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;facile&amp;#039;&amp;#039;&amp;#039; functional constraint library (kalzium)&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;ocaml&amp;#039;&amp;#039;&amp;#039; A programming language (kalzium)&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;boost&amp;#039;&amp;#039;&amp;#039; boost C++ Libraries &lt;br /&gt;
&lt;br /&gt;
====tdevelop====&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;graphviz&amp;#039;&amp;#039;&amp;#039; graph visualization &lt;br /&gt;
&lt;br /&gt;
====tdeaddons====&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;xmms&amp;#039;&amp;#039;&amp;#039; multimedia player (kicker applets) &lt;br /&gt;
&lt;br /&gt;
====tdewebdev====&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;XSLT&amp;#039;&amp;#039;&amp;#039; Extensible Stylesheet Language Transformations&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;DocBook&amp;#039;&amp;#039;&amp;#039; text markup&lt;br /&gt;
&lt;br /&gt;
====tdepim====&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;krb5&amp;#039;&amp;#039;&amp;#039; Kerberos authentication&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;ortp&amp;#039;&amp;#039;&amp;#039; real-time transport protocol stack under GPL (kopete)&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;gnokii&amp;#039;&amp;#039;&amp;#039; Nokia mobile phone support&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;opensync&amp;#039;&amp;#039;&amp;#039; data synchronization support&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;libcaldav&amp;#039;&amp;#039;&amp;#039; online calendar support, available through Trinity web site (http://www.trinitydesktop.org/relatedprojects.php)&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;libcarddav&amp;#039;&amp;#039;&amp;#039; online address book support, available through Trinity web site (http://www.trinitydesktop.org/relatedprojects.php) &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Quirks and Known Bugs==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Building Sip===&lt;br /&gt;
&lt;br /&gt;
Sip is available on many/most distros. Sip requires Qt3 to build, but won&amp;#039;t build on TQt3, which adds &lt;br /&gt;
the tqinterface layer to Qt3. More than likely down the road, Sip will be dumped or moved to Qt4 by distro &lt;br /&gt;
maintainers. All of the python-*-tqt-* packages need Sip to build. Build this TQt3 compatible version of Sip &lt;br /&gt;
and replace the stock Sip installed with the distro.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===OpenGL and nVidia===&lt;br /&gt;
&lt;br /&gt;
Building many Trinity and related packages depend upon OpenGL, such as &lt;br /&gt;
tdegraphics, k3b, koffice, tdenetwork, gwenview, digikam, etc.; &lt;br /&gt;
&lt;br /&gt;
as well as dependency packages such as &lt;br /&gt;
libkipi, libkdcraw, libkexiv2, avahi, etc. &lt;br /&gt;
&lt;br /&gt;
If any of those packages are built when the proprietary nvidia drivers are installed, the dependent package will fail to build &lt;br /&gt;
with an error about /usr/lib/libGL.la. &lt;br /&gt;
&lt;br /&gt;
That file is installed by the proprietary nvidia package. When building for personal use only, then building those packages with nvidia installed will pose no harm. &lt;br /&gt;
&lt;br /&gt;
When building packages for other users then build the entire suite of packages in a &amp;quot;clean&amp;quot; generic OpenGL environment. &lt;br /&gt;
&lt;br /&gt;
Other users might not use the proprietary nvidia package. This is true of any package that has OpenGL dependencies.&lt;br /&gt;
&lt;br /&gt;
===Tdeartwork and xhack Screensavers===&lt;br /&gt;
&lt;br /&gt;
Before building tdeartwork, install any and all xhack screensavers that might be uses, then&lt;br /&gt;
&lt;br /&gt;
cd &amp;lt;tdeartwork&amp;gt;/kscreensaver/kxsconfig/&lt;br /&gt;
./update_hacks.sh&lt;br /&gt;
&lt;br /&gt;
This will generate the TDE bindings required to allow installed screensavers show up in the Trinity &lt;br /&gt;
screensaver control panel, along with their configuration options. When adding a new screensaver the &lt;br /&gt;
update_hacks command needs to be rerun and tdeartwork recompiled/reinstalled. Distribution maintainers should &lt;br /&gt;
install all available screensavers from their distribution and then run update_hacks during the initial build &lt;br /&gt;
setup when building redistributable binary packages (see the Debian tdeartwork build scripts in GIT for an &lt;br /&gt;
example of how to do this).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Poppler Support in Tdegraphics===&lt;br /&gt;
&lt;br /&gt;
Building tdegraphics with poppler support requires building a Trinity poppler-tqt support package. With &lt;br /&gt;
many distros poppler no longer is built with Qt3 support. The Trinity poppler-tqt provides the necessary hooks for &lt;br /&gt;
tdegraphics without rebuilding poppler. The poppler-tqt dependency sources are located in the tdegraphics/kfile-plugins &lt;br /&gt;
dependencies directory and are built automatically with the tdegraphics build option -DWITH_PDF=ON.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Tdesvn/Tdesdk svn-kio Conflict===&lt;br /&gt;
&lt;br /&gt;
tdesvn and tdesdk provide conflicting files for svn-kio services. Neither package is a dependency of the other. &lt;br /&gt;
When tdesdk or tdesvn will be installed without the other, then no change is required. When both tdesdk and tdesvn &lt;br /&gt;
are to be installed, then to avoid filesystem conflicts the following files must be removed from one of the packages &lt;br /&gt;
before installing:&lt;br /&gt;
&lt;br /&gt;
  /opt/trinity/share/services/svn+file.protocol&lt;br /&gt;
  /opt/trinity/share/services/svn+http.protocol&lt;br /&gt;
  /opt/trinity/share/services/svn+https.protocol&lt;br /&gt;
  /opt/trinity/share/services/svn+ssh.protocol&lt;br /&gt;
  /opt/trinity/share/services/svn.protocol&lt;br /&gt;
&lt;br /&gt;
Since tdesvn uses the ksvn kio exclusively, while tdesdk uses the svn kio, consider removing the conflicting files &lt;br /&gt;
from tdesdk to eliminate the same services relying on multiple kio service files.&lt;/div&gt;</summary>
		<author><name>Cethyel</name></author>
	</entry>
	<entry>
		<id>https://wiki.trinitydesktop.net/index.php?title=How_to_Build_TDE_Core_Modules&amp;diff=1615</id>
		<title>How to Build TDE Core Modules</title>
		<link rel="alternate" type="text/html" href="https://wiki.trinitydesktop.net/index.php?title=How_to_Build_TDE_Core_Modules&amp;diff=1615"/>
		<updated>2021-06-09T22:21:00Z</updated>

		<summary type="html">&lt;p&gt;Cethyel: /* Performing a cmake Build with Ninja */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Documentation]]&lt;br /&gt;
[[Category:Installation]]&lt;br /&gt;
[[Category:Developers]]&lt;br /&gt;
This HowTo provides detailed notes and explanations for building the Trinity Desktop Environment base&lt;br /&gt;
packages.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Introduction and Requirements==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Basic Building Requirements===&lt;br /&gt;
&lt;br /&gt;
Individual Linux distributions might have different build requirements. If these are known they will be available &lt;br /&gt;
on the Distribution Specific Builds page.&lt;br /&gt;
&lt;br /&gt;
There is an ongoing effort to convert the build process from autotools to cmake. Until the cmake conversion is &lt;br /&gt;
complete, both cmake and autotools are needed to build Trinity packages. cmake 2.8.12 or more recent is expected &lt;br /&gt;
when building with cmake.&lt;br /&gt;
&lt;br /&gt;
To build the packages still using autotools, you will need a standard autotools setup (automake, autoconf, etc.)&lt;br /&gt;
&lt;br /&gt;
You&amp;#039;ll also need a C++ compiler. g++ from the GNU Compiler Collection is the most usual, the current GIT version of Trinity has been tested &lt;br /&gt;
against versions up to and including 4.6. clang++ is also supported.&lt;br /&gt;
&lt;br /&gt;
===Other Requirements===&lt;br /&gt;
&lt;br /&gt;
(NOTE:  List compiled from old QT3/kdelibs/kde-base ebuilds--will someone please check these?)&lt;br /&gt;
&lt;br /&gt;
Most of the non-build-related mandatory dependencies for the core Trinity packages are pretty basic:&lt;br /&gt;
&lt;br /&gt;
*an X server&lt;br /&gt;
*openssl&lt;br /&gt;
*fontconfig&lt;br /&gt;
*freetype&lt;br /&gt;
*ghostscript&lt;br /&gt;
*xdg support&lt;br /&gt;
*libpng&lt;br /&gt;
*libmng&lt;br /&gt;
&lt;br /&gt;
If your Linux distribution came with any kind of graphical environment at all, you should already have&lt;br /&gt;
this stuff.&lt;br /&gt;
&lt;br /&gt;
To build tdepim, you will also need libical (standard on many distros).&lt;br /&gt;
&lt;br /&gt;
See Additional Functionality for a list of optional dependencies and what they enable.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===About QT3===&lt;br /&gt;
&lt;br /&gt;
Trinity uses the QT3 widget toolkit.  Since Trolltech, the original owners, dropped support for QT3&lt;br /&gt;
several years ago, the Trinity Project has taken over QT3&amp;#039;s maintenance.  In other words, we&amp;#039;re now&lt;br /&gt;
QT3 upstream, and you should be obtaining your QT3 sources from the Trinity package tarballs or GIT repository.&lt;br /&gt;
&lt;br /&gt;
The version of QT3 used with Trinity 3.5.13 and later incorporates numerous patches.  If you&amp;#039;re trying to &lt;br /&gt;
use an old QT3/KDE3 packaging build setup for your distribution with Trinity&amp;#039;s QT3, don&amp;#039;t be too surprised &lt;br /&gt;
if some patches don&amp;#039;t apply.  Unless the patch is distribution-specific, chances are that it&amp;#039;s been added&lt;br /&gt;
to the main source tree.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===About libart===&lt;br /&gt;
&lt;br /&gt;
libart-lgpl is another dependency package that the Trinity Project has taken over after it was &lt;br /&gt;
[https://bugzilla.gnome.org/show_bug.cgi?id=155472#c4 dropped] by its original maintainer, because &lt;br /&gt;
it needed several [http://git.trinitydesktop.org/cgit/libart-lgpl/diff/?id=150562b89b645c402f1bb837a09f8b84bf6e49ec patches] &lt;br /&gt;
to prevent crashes.  The version of libart provided by the Trinity Project includes those patches and is &lt;br /&gt;
intended to be a replacement for any version of libart currently installed by any distro. Build this patched version &lt;br /&gt;
of libart and replace the stock libart installed with the distro.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Coexisting with QT4/KDE4===&lt;br /&gt;
&lt;br /&gt;
Trinity is intended to be able to run on computers that also have KDE4 installed.  Originally, a lot of&lt;br /&gt;
Trinity applications had the same names as their KDE4 counterparts, which was problematic.  All of &lt;br /&gt;
those have been renamed.  In general, this was accomplished by changing the old KDE &amp;quot;K&amp;quot; prefix to a &lt;br /&gt;
&amp;quot;T&amp;quot; (&amp;quot;kwin&amp;quot; -&amp;gt; &amp;quot;twin&amp;quot;).  Applications that don&amp;#039;t match anything currently part of KDE4 have retained their &lt;br /&gt;
old names.&lt;br /&gt;
&lt;br /&gt;
To avoid stepping on KDE4&amp;#039;s toes, we &amp;#039;&amp;#039;strongly&amp;#039;&amp;#039; suggest picking a specific subdirectory prefix to install Trinity&lt;br /&gt;
to--the one used in these directions is $PREFIX=/opt/trinity.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Preparing the Source==&lt;br /&gt;
&lt;br /&gt;
To use the release tarballs, just untar them somewhere.&lt;br /&gt;
&lt;br /&gt;
To live dangerously and use the GIT sources, read [[Notes on GIT Sources]] first.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Building==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Suggested Build Order===&lt;br /&gt;
&lt;br /&gt;
A lot of the Trinity core packages depend on one another (in particular, everything depends on tdelibs).&lt;br /&gt;
Follow this build order to prevent problems.&lt;br /&gt;
&lt;br /&gt;
Start with the required core packages:&lt;br /&gt;
&lt;br /&gt;
#tqt3 (replaces Qt3; Qt3 without the tqtinterface layer remains available)&lt;br /&gt;
#cmake-trinity&lt;br /&gt;
#tqtinterface&lt;br /&gt;
#arts&lt;br /&gt;
#dbus-tqt&lt;br /&gt;
#dbus-1-tqt&lt;br /&gt;
#tqca-tls (Recommended but required for some applications, such as the Kopete OTR add-on)&lt;br /&gt;
#libart-lgpl&lt;br /&gt;
#avahi-tqt (Recommended but required when supporting DNS discovery services)&lt;br /&gt;
#tdelibs&lt;br /&gt;
#tdebase&lt;br /&gt;
&lt;br /&gt;
At this point, you should have a functioning TDE desktop with basic utilities (terminal, file manager,&lt;br /&gt;
text/source editors, etc.)  If you&amp;#039;re going to build tdebindings and want Python support available,&lt;br /&gt;
continue with the Python linking packages (or skip over them if you don&amp;#039;t care about Python support):&lt;br /&gt;
&lt;br /&gt;
#sip4-tqt&lt;br /&gt;
#python-tqt&lt;br /&gt;
#pytdeextensions&lt;br /&gt;
#python-trinity&lt;br /&gt;
#tqscintilla &lt;br /&gt;
&lt;br /&gt;
The following build order seems to work well for the remaining core packages when building the stable release.&lt;br /&gt;
You don&amp;#039;t have to install everything, though, unless you&amp;#039;re packaging TDE for your distribution--pick the packages &lt;br /&gt;
that suit your use case.&lt;br /&gt;
&lt;br /&gt;
#tdebindings&lt;br /&gt;
#tdeaccessibility&lt;br /&gt;
#tdeutils&lt;br /&gt;
#tdemultimedia&lt;br /&gt;
#tdenetwork&lt;br /&gt;
#tdeadmin&lt;br /&gt;
#tdeartwork&lt;br /&gt;
#tdegames&lt;br /&gt;
#tdetoys&lt;br /&gt;
#tdeedu&lt;br /&gt;
#tdegraphics&lt;br /&gt;
#tdepim&lt;br /&gt;
#tdesdk (Build tdesdk after installing tdepim. tdepim provides libkcal (bugzilla) hooks for tdesdk.)&lt;br /&gt;
#tdevelop (Build tdevelop after tdesdk. tdesdk provides cvs support for tdevelop.)&lt;br /&gt;
#tdeaddons &lt;br /&gt;
&lt;br /&gt;
Once that&amp;#039;s done, you may want to add [[How to Build Extra Applications|some extra applications]] on top.&lt;br /&gt;
&lt;br /&gt;
===Building Packages with cmake===&lt;br /&gt;
&lt;br /&gt;
Starting from TDE version R14.0.11, the package cmake-trinity is mandatory prior to building, this package includes the required macros for the build.&lt;br /&gt;
&lt;br /&gt;
====List of Packages Building with cmake====&lt;br /&gt;
&lt;br /&gt;
cmake is the newer, easier, and more maintainable build system the Trinity Project is in the process of porting TDE source to.&lt;br /&gt;
&lt;br /&gt;
The list of modules maintained as an [https://mirror.git.trinitydesktop.org/gitea/TDE/tde/issues/9 issue #9 in the TGW] indicates which core and dependency packages have already been converted, and their autotools build scripts are no longer maintained. Some other packages are in the process of conversion, but do not have complete cmake build scripts yet. Build everything not in the list above with autotools.&lt;br /&gt;
&lt;br /&gt;
Read the notes section below for individual package requirements before trying to build anything.&lt;br /&gt;
&lt;br /&gt;
====Performing a cmake Build with Ninja====&lt;br /&gt;
&lt;br /&gt;
The command listing below is only an example.  You will wish to edit the exports if your distribution&lt;br /&gt;
puts things in unusual locations or if you wish to install to somewhere other than /opt/trinity (tqtinterface&lt;br /&gt;
has special requirements--see the Notes).  Not all exports will be needed on all systems.&lt;br /&gt;
&lt;br /&gt;
 export PREFIX=/opt/trinity&lt;br /&gt;
 export SYSCONFDIR=/etc/trinity&lt;br /&gt;
 export LIBDIR=$PREFIX/lib&lt;br /&gt;
 export MANDIR=$PREFIX/man&lt;br /&gt;
 export TQTDIR=$PREFIX/tqt3&lt;br /&gt;
 export PATH=$TQTDIR/bin:$PREFIX/bin:$PATH&lt;br /&gt;
 export LD_LIBRARY_PATH=$LIBDIR:$LIBDIR/trinity:$LD_LIBRARY_PATH&lt;br /&gt;
 export PKG_CONFIG_PATH=:$LIBDIR/pkgconfig:$TQTDIR/lib/pkgconfig:$PKG_CONFIG_PATH&lt;br /&gt;
 # for lib64:&lt;br /&gt;
 # export LIBDIRSUFFIX=64&lt;br /&gt;
 #&lt;br /&gt;
 from the Trinity module:&lt;br /&gt;
 mkdir -p build &amp;amp;&amp;amp; cd build&lt;br /&gt;
 cmake -G &amp;quot;Ninja&amp;quot; \&lt;br /&gt;
    -DCMAKE_EXPORT_COMPILE_COMMANDS=&amp;quot;ON&amp;quot; \&lt;br /&gt;
    -DCMAKE_BUILD_TYPE=RelWithDebInfo \&lt;br /&gt;
    -DCMAKE_SKIP_RPATH=&amp;quot;OFF&amp;quot; \&lt;br /&gt;
    -DCMAKE_INSTALL_PREFIX=${PREFIX} \&lt;br /&gt;
    -DSYSCONF_INSTALL_DIR=${SYSCONFDIR} \&lt;br /&gt;
    -DLIB_SUFFIX=${LIBDIRSUFFIX} \&lt;br /&gt;
    -DMAN_INSTALL_DIR=${MANDIR} \&lt;br /&gt;
    -DBUILD_ALL=&amp;quot;ON&amp;quot; \&lt;br /&gt;
    -DWITH_ALL_OPTIONS=&amp;quot;ON&amp;quot; ..&lt;br /&gt;
  cmake --build . -- VERBOSE=1&lt;br /&gt;
&lt;br /&gt;
====Notes====&lt;br /&gt;
&lt;br /&gt;
*Until the cmake migration is fully completed, tqtinterface should be built to install with a $PREFIX of /usr rather than /opt/trinity, even if you are installing everything else to /opt/trinity.&lt;br /&gt;
&lt;br /&gt;
*tqtinterface requires the following additional QT-related build option:&lt;br /&gt;
&lt;br /&gt;
 -DQT_VERSION=3&lt;br /&gt;
&lt;br /&gt;
*arts and tdelibs execute compiled binaries as part of the build process. Therefore they need to have -DCMAKE_SKIP_RPATH=&amp;quot;OFF&amp;quot; set. All other modules do not need the RPATH set.&lt;br /&gt;
&lt;br /&gt;
*When building on 64-bit, the following (T)Qt3 configuration option might need to be explicitly declared in some distro build scripts:&lt;br /&gt;
&lt;br /&gt;
 -platform linux-g++-64 (rather than linux-g++ (notice the dash!))&lt;br /&gt;
&lt;br /&gt;
*If class constructor issues surface during the build, please post the error to the trinity-users list.&lt;br /&gt;
&lt;br /&gt;
===Building Packages with Autoconf===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Introduction====&lt;br /&gt;
&lt;br /&gt;
If the package you&amp;#039;re trying to build is on the list of those that will build with cmake, try that first, because &lt;br /&gt;
its autotools files will be unmaintained, bit-rotted, and possibly outright broken.&lt;br /&gt;
&lt;br /&gt;
Please read the notes section below for individual package requirements before trying to build anything.&lt;br /&gt;
&lt;br /&gt;
For those packages that still need to be built with autotools, the following steps must be run for each affected &lt;br /&gt;
Trinity module, including tarball snapshots.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Regenerate Autoconf/Automake files====&lt;br /&gt;
&lt;br /&gt;
cd to the desired module to build, then run:&lt;br /&gt;
&lt;br /&gt;
 cp -Rp &amp;lt;path to your system&amp;#039;s libtool.m4 file&amp;gt; admin/libtool.m4.in&lt;br /&gt;
 cp -Rp &amp;lt;path to your system&amp;#039;s ltmain.sh file&amp;gt; admin/ltmain.sh&lt;br /&gt;
 make -f admin/Makefile.common&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Configure and Build====&lt;br /&gt;
&lt;br /&gt;
 export PREFIX=/opt/trinity&lt;br /&gt;
 export SYSCONFDIR=/etc/trinity&lt;br /&gt;
 export LIBDIR=/opt/trinity/lib&lt;br /&gt;
 export MANDIR=/opt/trinity/man&lt;br /&gt;
 export QTDIR=/opt/trinity/lib/qt3-3.3.8.d&lt;br /&gt;
 export PATH=/opt/trinity/qt3-3.3.8.d/bin:/opt/trinity/bin:$PATH&lt;br /&gt;
 export LD_LIBRARY_PATH=/opt/trinity/lib:/opt/trinity/lib/trinity:$LD_LIBRARY_PATH&lt;br /&gt;
 export PKG_CONFIG_PATH=:/opt/trinity/lib/pkgconfig:/opt/trinity/qt3-3.3.8.d/lib/pkgconfig:$PKG_CONFIG_PATH&lt;br /&gt;
 # Enable only one of the following:&lt;br /&gt;
 # export DEBUG_AUTOTOOL_OPT=&amp;quot;--enable-debug=full&amp;quot;&lt;br /&gt;
 export DEBUG_AUTOTOOL_OPT=&amp;quot;--disable-debug&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
  CFLAGS=$CPUOPT \&lt;br /&gt;
  CXXFLAGS=$CPUOPT \&lt;br /&gt;
  ./configure \&lt;br /&gt;
    --prefix=${PREFIX} \&lt;br /&gt;
    --sysconfdir=${SYSCONFDIR} \&lt;br /&gt;
    --libdir=${LIBDIR} \&lt;br /&gt;
    --mandir=${MANDIR} \&lt;br /&gt;
    --with-qt-dir=${QTDIR} \&lt;br /&gt;
    --with-qt-includes=${QTDIR}/include \&lt;br /&gt;
    --with-qt-libraries=${QTDIR}/lib \&lt;br /&gt;
    $DEBUG_AUTOTOOL_OPT&lt;br /&gt;
&lt;br /&gt;
View the Distribution Specific Builds page for additional configure options.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Notes====&lt;br /&gt;
&lt;br /&gt;
*Certain modules will not build across multiple cores in parallel. That is, with a &amp;quot;make -j&amp;quot; flag set to anything greater than 1. These packages are:&lt;br /&gt;
**tdebindings (some people have no problems with this package and parallel processing)&lt;br /&gt;
**tdemultimedia (some people have no problems with this package and parallel processing) &lt;br /&gt;
&lt;br /&gt;
*Not well documented anywhere, but when building with automake several packages need the --enable-closure configure option:&lt;br /&gt;
**tdeaccessibility&lt;br /&gt;
**tdeaddons&lt;br /&gt;
**tdeadmin&lt;br /&gt;
**tdebindings&lt;br /&gt;
**tdeedu&lt;br /&gt;
**tdegames&lt;br /&gt;
**tdemultimedia&lt;br /&gt;
**tdesdk&lt;br /&gt;
&lt;br /&gt;
*When building on 64-bit, the following (T)Qt3 configuration option might need to be explicitly declared in some distro build scripts:&lt;br /&gt;
&lt;br /&gt;
 -platform linux=g++-64 (rather than linux-g++ (notice the dash!))&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Build Times===&lt;br /&gt;
&lt;br /&gt;
Building Trinity requires time and patience. Build times vary. Here are some guidelines from building &lt;br /&gt;
Trinity 3.5.12 on a dual core 2.3 GHz AM2 with 4GB of RAM, using tmpfs, 7200 rpm SATA II hard drives; &lt;br /&gt;
with Amarok, Firefox, Konsole, Konqueror, Kate, and other various apps often running concurrently. Compile &lt;br /&gt;
times will be faster without such overhead, but likely will be longer when building with support package hooks.&lt;br /&gt;
Packages using cmake will build faster than those still stuck on autotools.&lt;br /&gt;
&lt;br /&gt;
*tqtinterface: 2 minutes&lt;br /&gt;
*arts: 4 minutes&lt;br /&gt;
*tdelibs: 44 minutes&lt;br /&gt;
*tdebase: 33 minutes&lt;br /&gt;
*tdebindings: 36 minutes&lt;br /&gt;
*tdeaccessibility: 5 minutes&lt;br /&gt;
*tdeutils: 8 minutes&lt;br /&gt;
*tdemultimedia: 24 minutes&lt;br /&gt;
*tdenetwork: 23 minutes&lt;br /&gt;
*tdeadmin: 4 minutes&lt;br /&gt;
*tdeartwork: 3 minutes&lt;br /&gt;
*tdegames: 8 minutes&lt;br /&gt;
*tdetoys: 2 minutes&lt;br /&gt;
*tdeedu: 15 minutes&lt;br /&gt;
*tdegraphics: 17 minutes&lt;br /&gt;
*tdesdk: 14 minutes&lt;br /&gt;
*tdevelop: 27 minutes&lt;br /&gt;
*tdeaddons: 7 minutes&lt;br /&gt;
*tdewebdev: 12 minutes&lt;br /&gt;
*tdepim: 63 minutes &lt;br /&gt;
&lt;br /&gt;
Approximate total time: 5 hours 51 minutes&lt;br /&gt;
&lt;br /&gt;
Time to a functional system (basic desktop): 1 hour 23 minutes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Installing==&lt;br /&gt;
&lt;br /&gt;
The command is the same regardless of whether your package was built with cmake or autotools:&lt;br /&gt;
&lt;br /&gt;
 make install || exit 1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Additional Functionality==&lt;br /&gt;
&lt;br /&gt;
Certain Trinity packages gain additional functionality when compiled with additional dependencies available.&lt;br /&gt;
Also, we maintain some libraries which provide purely optional functionality.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Optional Trinity Libraries===&lt;br /&gt;
&lt;br /&gt;
None of these Trinity libraries are required but all provide additional functionality for a variety of packages. &lt;br /&gt;
These libraries must be built and installed before any packages using these libraries can take advantage of the &lt;br /&gt;
additional functionality.&lt;br /&gt;
&lt;br /&gt;
*libkipi: required by kipi-plugins&lt;br /&gt;
*kipi-plugins: several high-end image viewers such as gwenview and digikam&lt;br /&gt;
*libkdcraw: several image viewers and graphics apps, such as chalk and digikam&lt;br /&gt;
*libkexiv2: several image viewers&lt;br /&gt;
*libksquirrel: required by ksquirrel (TDE swiss-army-knife for graphic file formats, also supports medical image formats if xmedcon is provided)&lt;br /&gt;
*libtqt-perl: adept add-on&lt;br /&gt;
*mlt: not required or supported at this time&lt;br /&gt;
*mlt++: not required or supported at this time&lt;br /&gt;
*pytdeextensions: replacement for PyQt3 and PyKDE3, and used by apps such as tdebindings and tde-guidance&lt;br /&gt;
*python-trinity: replacement for PyQt3 and PyKDE3, and used by apps such as tdebindings and tde-guidance &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===List of Optional Dependencies by Trinity Package===&lt;br /&gt;
&lt;br /&gt;
====tdelibs====&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;avahi&amp;#039;&amp;#039;&amp;#039; DNS discovery&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;avahi-tqt&amp;#039;&amp;#039;&amp;#039; Trinity TQt layer for avahi, available in Trinity libraries&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;hspell&amp;#039;&amp;#039;&amp;#039; Hebrew spell checking&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;krb5&amp;#039;&amp;#039;&amp;#039; Kerberos authentication&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;openexr&amp;#039;&amp;#039;&amp;#039; EXR image format &lt;br /&gt;
&lt;br /&gt;
====tdebase====&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;avahi&amp;#039;&amp;#039;&amp;#039; DNS discovery&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;avahi-tqt&amp;#039;&amp;#039;&amp;#039; Trinity TQt layer for avahi, available in Trinity libraries&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;krb5&amp;#039;&amp;#039;&amp;#039; Kerberos authentication&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;openexr&amp;#039;&amp;#039;&amp;#039; EXR image format&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;GraphicsMagick&amp;#039;&amp;#039;&amp;#039; image filters &lt;br /&gt;
&lt;br /&gt;
====tdebindings====&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;Ruby&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;JRE&amp;#039;&amp;#039;&amp;#039; Java Runtime Environment&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;JDK&amp;#039;&amp;#039;&amp;#039; Java Development Kit&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;Python&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;python-trinity&amp;#039;&amp;#039;&amp;#039;, available in Trinity libraries&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;pytdeextensions&amp;#039;&amp;#039;&amp;#039;, available in Trinity libraries &lt;br /&gt;
&lt;br /&gt;
====tdeutils====&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;xmms&amp;#039;&amp;#039;&amp;#039; multimedia player (superkaramba) &lt;br /&gt;
&lt;br /&gt;
====tdemultimedia====&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;cdparanoia&amp;#039;&amp;#039;&amp;#039; digital audio extraction tool (kaudiocreator)&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;speex&amp;#039;&amp;#039;&amp;#039; an audio compression format designed for speech &lt;br /&gt;
&lt;br /&gt;
====tdenetwork====&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;xmms&amp;#039;&amp;#039;&amp;#039; multimedia player (kopete plugins)&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;ortp&amp;#039;&amp;#039;&amp;#039; real-time transport protocol stack under GPL (kopete plugins)&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;speex&amp;#039;&amp;#039;&amp;#039; audio compression format designed for speech (kopete plugins) &lt;br /&gt;
&lt;br /&gt;
====tdeedu====&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;facile&amp;#039;&amp;#039;&amp;#039; functional constraint library (kalzium)&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;ocaml&amp;#039;&amp;#039;&amp;#039; A programming language (kalzium)&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;boost&amp;#039;&amp;#039;&amp;#039; boost C++ Libraries &lt;br /&gt;
&lt;br /&gt;
====tdevelop====&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;graphviz&amp;#039;&amp;#039;&amp;#039; graph visualization &lt;br /&gt;
&lt;br /&gt;
====tdeaddons====&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;xmms&amp;#039;&amp;#039;&amp;#039; multimedia player (kicker applets) &lt;br /&gt;
&lt;br /&gt;
====tdewebdev====&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;XSLT&amp;#039;&amp;#039;&amp;#039; Extensible Stylesheet Language Transformations&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;DocBook&amp;#039;&amp;#039;&amp;#039; text markup&lt;br /&gt;
&lt;br /&gt;
====tdepim====&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;krb5&amp;#039;&amp;#039;&amp;#039; Kerberos authentication&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;ortp&amp;#039;&amp;#039;&amp;#039; real-time transport protocol stack under GPL (kopete)&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;gnokii&amp;#039;&amp;#039;&amp;#039; Nokia mobile phone support&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;opensync&amp;#039;&amp;#039;&amp;#039; data synchronization support&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;libcaldav&amp;#039;&amp;#039;&amp;#039; online calendar support, available through Trinity web site (http://www.trinitydesktop.org/relatedprojects.php)&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;libcarddav&amp;#039;&amp;#039;&amp;#039; online address book support, available through Trinity web site (http://www.trinitydesktop.org/relatedprojects.php) &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Quirks and Known Bugs==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Building Sip===&lt;br /&gt;
&lt;br /&gt;
Sip is available on many/most distros. Sip requires Qt3 to build, but won&amp;#039;t build on TQt3, which adds &lt;br /&gt;
the tqinterface layer to Qt3. More than likely down the road, Sip will be dumped or moved to Qt4 by distro &lt;br /&gt;
maintainers. All of the python-*-tqt-* packages need Sip to build. Build this TQt3 compatible version of Sip &lt;br /&gt;
and replace the stock Sip installed with the distro.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===OpenGL and nVidia===&lt;br /&gt;
&lt;br /&gt;
Building many Trinity and related packages depend upon OpenGL, such as &lt;br /&gt;
tdegraphics, k3b, koffice, tdenetwork, gwenview, digikam, etc.; &lt;br /&gt;
&lt;br /&gt;
as well as dependency packages such as &lt;br /&gt;
libkipi, libkdcraw, libkexiv2, avahi, etc. &lt;br /&gt;
&lt;br /&gt;
If any of those packages are built when the proprietary nvidia drivers are installed, the dependent package will fail to build &lt;br /&gt;
with an error about /usr/lib/libGL.la. &lt;br /&gt;
&lt;br /&gt;
That file is installed by the proprietary nvidia package. When building for personal use only, then building those packages with nvidia installed will pose no harm. &lt;br /&gt;
&lt;br /&gt;
When building packages for other users then build the entire suite of packages in a &amp;quot;clean&amp;quot; generic OpenGL environment. &lt;br /&gt;
&lt;br /&gt;
Other users might not use the proprietary nvidia package. This is true of any package that has OpenGL dependencies.&lt;br /&gt;
&lt;br /&gt;
===Tdeartwork and xhack Screensavers===&lt;br /&gt;
&lt;br /&gt;
Before building tdeartwork, install any and all xhack screensavers that might be uses, then&lt;br /&gt;
&lt;br /&gt;
cd &amp;lt;tdeartwork&amp;gt;/kscreensaver/kxsconfig/&lt;br /&gt;
./update_hacks.sh&lt;br /&gt;
&lt;br /&gt;
This will generate the TDE bindings required to allow installed screensavers show up in the Trinity &lt;br /&gt;
screensaver control panel, along with their configuration options. When adding a new screensaver the &lt;br /&gt;
update_hacks command needs to be rerun and tdeartwork recompiled/reinstalled. Distribution maintainers should &lt;br /&gt;
install all available screensavers from their distribution and then run update_hacks during the initial build &lt;br /&gt;
setup when building redistributable binary packages (see the Debian tdeartwork build scripts in GIT for an &lt;br /&gt;
example of how to do this).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Poppler Support in Tdegraphics===&lt;br /&gt;
&lt;br /&gt;
Building tdegraphics with poppler support requires building a Trinity poppler-tqt support package. With &lt;br /&gt;
many distros poppler no longer is built with Qt3 support. The Trinity poppler-tqt provides the necessary hooks for &lt;br /&gt;
tdegraphics without rebuilding poppler. The poppler-tqt dependency sources are located in the tdegraphics/kfile-plugins &lt;br /&gt;
dependencies directory and are built automatically with the tdegraphics build option -DWITH_PDF=ON.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Tdesvn/Tdesdk svn-kio Conflict===&lt;br /&gt;
&lt;br /&gt;
tdesvn and tdesdk provide conflicting files for svn-kio services. Neither package is a dependency of the other. &lt;br /&gt;
When tdesdk or tdesvn will be installed without the other, then no change is required. When both tdesdk and tdesvn &lt;br /&gt;
are to be installed, then to avoid filesystem conflicts the following files must be removed from one of the packages &lt;br /&gt;
before installing:&lt;br /&gt;
&lt;br /&gt;
  /opt/trinity/share/services/svn+file.protocol&lt;br /&gt;
  /opt/trinity/share/services/svn+http.protocol&lt;br /&gt;
  /opt/trinity/share/services/svn+https.protocol&lt;br /&gt;
  /opt/trinity/share/services/svn+ssh.protocol&lt;br /&gt;
  /opt/trinity/share/services/svn.protocol&lt;br /&gt;
&lt;br /&gt;
Since tdesvn uses the ksvn kio exclusively, while tdesdk uses the svn kio, consider removing the conflicting files &lt;br /&gt;
from tdesdk to eliminate the same services relying on multiple kio service files.&lt;/div&gt;</summary>
		<author><name>Cethyel</name></author>
	</entry>
	<entry>
		<id>https://wiki.trinitydesktop.net/index.php?title=How_to_Build_TDE_Core_Modules&amp;diff=1614</id>
		<title>How to Build TDE Core Modules</title>
		<link rel="alternate" type="text/html" href="https://wiki.trinitydesktop.net/index.php?title=How_to_Build_TDE_Core_Modules&amp;diff=1614"/>
		<updated>2021-06-09T22:18:58Z</updated>

		<summary type="html">&lt;p&gt;Cethyel: /* Performing a cmake Build with Ninja */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Documentation]]&lt;br /&gt;
[[Category:Installation]]&lt;br /&gt;
[[Category:Developers]]&lt;br /&gt;
This HowTo provides detailed notes and explanations for building the Trinity Desktop Environment base&lt;br /&gt;
packages.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Introduction and Requirements==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Basic Building Requirements===&lt;br /&gt;
&lt;br /&gt;
Individual Linux distributions might have different build requirements. If these are known they will be available &lt;br /&gt;
on the Distribution Specific Builds page.&lt;br /&gt;
&lt;br /&gt;
There is an ongoing effort to convert the build process from autotools to cmake. Until the cmake conversion is &lt;br /&gt;
complete, both cmake and autotools are needed to build Trinity packages. cmake 2.8.12 or more recent is expected &lt;br /&gt;
when building with cmake.&lt;br /&gt;
&lt;br /&gt;
To build the packages still using autotools, you will need a standard autotools setup (automake, autoconf, etc.)&lt;br /&gt;
&lt;br /&gt;
You&amp;#039;ll also need a C++ compiler. g++ from the GNU Compiler Collection is the most usual, the current GIT version of Trinity has been tested &lt;br /&gt;
against versions up to and including 4.6. clang++ is also supported.&lt;br /&gt;
&lt;br /&gt;
===Other Requirements===&lt;br /&gt;
&lt;br /&gt;
(NOTE:  List compiled from old QT3/kdelibs/kde-base ebuilds--will someone please check these?)&lt;br /&gt;
&lt;br /&gt;
Most of the non-build-related mandatory dependencies for the core Trinity packages are pretty basic:&lt;br /&gt;
&lt;br /&gt;
*an X server&lt;br /&gt;
*openssl&lt;br /&gt;
*fontconfig&lt;br /&gt;
*freetype&lt;br /&gt;
*ghostscript&lt;br /&gt;
*xdg support&lt;br /&gt;
*libpng&lt;br /&gt;
*libmng&lt;br /&gt;
&lt;br /&gt;
If your Linux distribution came with any kind of graphical environment at all, you should already have&lt;br /&gt;
this stuff.&lt;br /&gt;
&lt;br /&gt;
To build tdepim, you will also need libical (standard on many distros).&lt;br /&gt;
&lt;br /&gt;
See Additional Functionality for a list of optional dependencies and what they enable.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===About QT3===&lt;br /&gt;
&lt;br /&gt;
Trinity uses the QT3 widget toolkit.  Since Trolltech, the original owners, dropped support for QT3&lt;br /&gt;
several years ago, the Trinity Project has taken over QT3&amp;#039;s maintenance.  In other words, we&amp;#039;re now&lt;br /&gt;
QT3 upstream, and you should be obtaining your QT3 sources from the Trinity package tarballs or GIT repository.&lt;br /&gt;
&lt;br /&gt;
The version of QT3 used with Trinity 3.5.13 and later incorporates numerous patches.  If you&amp;#039;re trying to &lt;br /&gt;
use an old QT3/KDE3 packaging build setup for your distribution with Trinity&amp;#039;s QT3, don&amp;#039;t be too surprised &lt;br /&gt;
if some patches don&amp;#039;t apply.  Unless the patch is distribution-specific, chances are that it&amp;#039;s been added&lt;br /&gt;
to the main source tree.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===About libart===&lt;br /&gt;
&lt;br /&gt;
libart-lgpl is another dependency package that the Trinity Project has taken over after it was &lt;br /&gt;
[https://bugzilla.gnome.org/show_bug.cgi?id=155472#c4 dropped] by its original maintainer, because &lt;br /&gt;
it needed several [http://git.trinitydesktop.org/cgit/libart-lgpl/diff/?id=150562b89b645c402f1bb837a09f8b84bf6e49ec patches] &lt;br /&gt;
to prevent crashes.  The version of libart provided by the Trinity Project includes those patches and is &lt;br /&gt;
intended to be a replacement for any version of libart currently installed by any distro. Build this patched version &lt;br /&gt;
of libart and replace the stock libart installed with the distro.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Coexisting with QT4/KDE4===&lt;br /&gt;
&lt;br /&gt;
Trinity is intended to be able to run on computers that also have KDE4 installed.  Originally, a lot of&lt;br /&gt;
Trinity applications had the same names as their KDE4 counterparts, which was problematic.  All of &lt;br /&gt;
those have been renamed.  In general, this was accomplished by changing the old KDE &amp;quot;K&amp;quot; prefix to a &lt;br /&gt;
&amp;quot;T&amp;quot; (&amp;quot;kwin&amp;quot; -&amp;gt; &amp;quot;twin&amp;quot;).  Applications that don&amp;#039;t match anything currently part of KDE4 have retained their &lt;br /&gt;
old names.&lt;br /&gt;
&lt;br /&gt;
To avoid stepping on KDE4&amp;#039;s toes, we &amp;#039;&amp;#039;strongly&amp;#039;&amp;#039; suggest picking a specific subdirectory prefix to install Trinity&lt;br /&gt;
to--the one used in these directions is $PREFIX=/opt/trinity.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Preparing the Source==&lt;br /&gt;
&lt;br /&gt;
To use the release tarballs, just untar them somewhere.&lt;br /&gt;
&lt;br /&gt;
To live dangerously and use the GIT sources, read [[Notes on GIT Sources]] first.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Building==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Suggested Build Order===&lt;br /&gt;
&lt;br /&gt;
A lot of the Trinity core packages depend on one another (in particular, everything depends on tdelibs).&lt;br /&gt;
Follow this build order to prevent problems.&lt;br /&gt;
&lt;br /&gt;
Start with the required core packages:&lt;br /&gt;
&lt;br /&gt;
#tqt3 (replaces Qt3; Qt3 without the tqtinterface layer remains available)&lt;br /&gt;
#cmake-trinity&lt;br /&gt;
#tqtinterface&lt;br /&gt;
#arts&lt;br /&gt;
#dbus-tqt&lt;br /&gt;
#dbus-1-tqt&lt;br /&gt;
#tqca-tls (Recommended but required for some applications, such as the Kopete OTR add-on)&lt;br /&gt;
#libart-lgpl&lt;br /&gt;
#avahi-tqt (Recommended but required when supporting DNS discovery services)&lt;br /&gt;
#tdelibs&lt;br /&gt;
#tdebase&lt;br /&gt;
&lt;br /&gt;
At this point, you should have a functioning TDE desktop with basic utilities (terminal, file manager,&lt;br /&gt;
text/source editors, etc.)  If you&amp;#039;re going to build tdebindings and want Python support available,&lt;br /&gt;
continue with the Python linking packages (or skip over them if you don&amp;#039;t care about Python support):&lt;br /&gt;
&lt;br /&gt;
#sip4-tqt&lt;br /&gt;
#python-tqt&lt;br /&gt;
#pytdeextensions&lt;br /&gt;
#python-trinity&lt;br /&gt;
#tqscintilla &lt;br /&gt;
&lt;br /&gt;
The following build order seems to work well for the remaining core packages when building the stable release.&lt;br /&gt;
You don&amp;#039;t have to install everything, though, unless you&amp;#039;re packaging TDE for your distribution--pick the packages &lt;br /&gt;
that suit your use case.&lt;br /&gt;
&lt;br /&gt;
#tdebindings&lt;br /&gt;
#tdeaccessibility&lt;br /&gt;
#tdeutils&lt;br /&gt;
#tdemultimedia&lt;br /&gt;
#tdenetwork&lt;br /&gt;
#tdeadmin&lt;br /&gt;
#tdeartwork&lt;br /&gt;
#tdegames&lt;br /&gt;
#tdetoys&lt;br /&gt;
#tdeedu&lt;br /&gt;
#tdegraphics&lt;br /&gt;
#tdepim&lt;br /&gt;
#tdesdk (Build tdesdk after installing tdepim. tdepim provides libkcal (bugzilla) hooks for tdesdk.)&lt;br /&gt;
#tdevelop (Build tdevelop after tdesdk. tdesdk provides cvs support for tdevelop.)&lt;br /&gt;
#tdeaddons &lt;br /&gt;
&lt;br /&gt;
Once that&amp;#039;s done, you may want to add [[How to Build Extra Applications|some extra applications]] on top.&lt;br /&gt;
&lt;br /&gt;
===Building Packages with cmake===&lt;br /&gt;
&lt;br /&gt;
Starting from TDE version R14.0.11, the package cmake-trinity is mandatory prior to building, this package includes the required macros for the build.&lt;br /&gt;
&lt;br /&gt;
====List of Packages Building with cmake====&lt;br /&gt;
&lt;br /&gt;
cmake is the newer, easier, and more maintainable build system the Trinity Project is in the process of porting TDE source to.&lt;br /&gt;
&lt;br /&gt;
The list of modules maintained as an [https://mirror.git.trinitydesktop.org/gitea/TDE/tde/issues/9 issue #9 in the TGW] indicates which core and dependency packages have already been converted, and their autotools build scripts are no longer maintained. Some other packages are in the process of conversion, but do not have complete cmake build scripts yet. Build everything not in the list above with autotools.&lt;br /&gt;
&lt;br /&gt;
Read the notes section below for individual package requirements before trying to build anything.&lt;br /&gt;
&lt;br /&gt;
====Performing a cmake Build with Ninja====&lt;br /&gt;
&lt;br /&gt;
The command listing below is only an example.  You will wish to edit the exports if your distribution&lt;br /&gt;
puts things in unusual locations or if you wish to install to somewhere other than /opt/trinity (tqtinterface&lt;br /&gt;
has special requirements--see the Notes).  Not all exports will be needed on all systems.&lt;br /&gt;
&lt;br /&gt;
 export PREFIX=/opt/trinity&lt;br /&gt;
 export SYSCONFDIR=/etc/trinity&lt;br /&gt;
 export LIBDIR=$PREFIX/lib&lt;br /&gt;
 export MANDIR=$PREFIX/man&lt;br /&gt;
 export TQTDIR=$PREFIX/tqt3&lt;br /&gt;
 export PATH=$TQTDIR/bin:$PREFIX/bin:$PATH&lt;br /&gt;
 export LD_LIBRARY_PATH=$LIBDIR:$LIBDIR/trinity:$LD_LIBRARY_PATH&lt;br /&gt;
 export PKG_CONFIG_PATH=:$LIBDIR/pkgconfig:$TQTDIR/lib/pkgconfig:$PKG_CONFIG_PATH&lt;br /&gt;
 # for lib64:&lt;br /&gt;
 # export LIBDIRSUFFIX=64&lt;br /&gt;
&lt;br /&gt;
 from the Trinity module:&lt;br /&gt;
 mkdir -p build &amp;amp;&amp;amp; cd build&lt;br /&gt;
 cmake -G &amp;quot;Ninja&amp;quot; \&lt;br /&gt;
    -DCMAKE_EXPORT_COMPILE_COMMANDS=&amp;quot;ON&amp;quot; \&lt;br /&gt;
    -DCMAKE_BUILD_TYPE=RelWithDebInfo \&lt;br /&gt;
    -DCMAKE_SKIP_RPATH=&amp;quot;OFF&amp;quot; \&lt;br /&gt;
    -DCMAKE_INSTALL_PREFIX=${PREFIX} \&lt;br /&gt;
    -DSYSCONF_INSTALL_DIR=${SYSCONFDIR} \&lt;br /&gt;
    -DLIB_SUFFIX=${LIBDIRSUFFIX} \&lt;br /&gt;
    -DMAN_INSTALL_DIR=${MANDIR} \&lt;br /&gt;
    -DBUILD_ALL=&amp;quot;ON&amp;quot; \&lt;br /&gt;
    -DWITH_ALL_OPTIONS=&amp;quot;ON&amp;quot; ..&lt;br /&gt;
  cmake --build . -- VERBOSE=1&lt;br /&gt;
&lt;br /&gt;
====Notes====&lt;br /&gt;
&lt;br /&gt;
*Until the cmake migration is fully completed, tqtinterface should be built to install with a $PREFIX of /usr rather than /opt/trinity, even if you are installing everything else to /opt/trinity.&lt;br /&gt;
&lt;br /&gt;
*tqtinterface requires the following additional QT-related build option:&lt;br /&gt;
&lt;br /&gt;
 -DQT_VERSION=3&lt;br /&gt;
&lt;br /&gt;
*arts and tdelibs execute compiled binaries as part of the build process. Therefore they need to have -DCMAKE_SKIP_RPATH=&amp;quot;OFF&amp;quot; set. All other modules do not need the RPATH set.&lt;br /&gt;
&lt;br /&gt;
*When building on 64-bit, the following (T)Qt3 configuration option might need to be explicitly declared in some distro build scripts:&lt;br /&gt;
&lt;br /&gt;
 -platform linux-g++-64 (rather than linux-g++ (notice the dash!))&lt;br /&gt;
&lt;br /&gt;
*If class constructor issues surface during the build, please post the error to the trinity-users list.&lt;br /&gt;
&lt;br /&gt;
===Building Packages with Autoconf===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Introduction====&lt;br /&gt;
&lt;br /&gt;
If the package you&amp;#039;re trying to build is on the list of those that will build with cmake, try that first, because &lt;br /&gt;
its autotools files will be unmaintained, bit-rotted, and possibly outright broken.&lt;br /&gt;
&lt;br /&gt;
Please read the notes section below for individual package requirements before trying to build anything.&lt;br /&gt;
&lt;br /&gt;
For those packages that still need to be built with autotools, the following steps must be run for each affected &lt;br /&gt;
Trinity module, including tarball snapshots.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Regenerate Autoconf/Automake files====&lt;br /&gt;
&lt;br /&gt;
cd to the desired module to build, then run:&lt;br /&gt;
&lt;br /&gt;
 cp -Rp &amp;lt;path to your system&amp;#039;s libtool.m4 file&amp;gt; admin/libtool.m4.in&lt;br /&gt;
 cp -Rp &amp;lt;path to your system&amp;#039;s ltmain.sh file&amp;gt; admin/ltmain.sh&lt;br /&gt;
 make -f admin/Makefile.common&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Configure and Build====&lt;br /&gt;
&lt;br /&gt;
 export PREFIX=/opt/trinity&lt;br /&gt;
 export SYSCONFDIR=/etc/trinity&lt;br /&gt;
 export LIBDIR=/opt/trinity/lib&lt;br /&gt;
 export MANDIR=/opt/trinity/man&lt;br /&gt;
 export QTDIR=/opt/trinity/lib/qt3-3.3.8.d&lt;br /&gt;
 export PATH=/opt/trinity/qt3-3.3.8.d/bin:/opt/trinity/bin:$PATH&lt;br /&gt;
 export LD_LIBRARY_PATH=/opt/trinity/lib:/opt/trinity/lib/trinity:$LD_LIBRARY_PATH&lt;br /&gt;
 export PKG_CONFIG_PATH=:/opt/trinity/lib/pkgconfig:/opt/trinity/qt3-3.3.8.d/lib/pkgconfig:$PKG_CONFIG_PATH&lt;br /&gt;
 # Enable only one of the following:&lt;br /&gt;
 # export DEBUG_AUTOTOOL_OPT=&amp;quot;--enable-debug=full&amp;quot;&lt;br /&gt;
 export DEBUG_AUTOTOOL_OPT=&amp;quot;--disable-debug&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
  CFLAGS=$CPUOPT \&lt;br /&gt;
  CXXFLAGS=$CPUOPT \&lt;br /&gt;
  ./configure \&lt;br /&gt;
    --prefix=${PREFIX} \&lt;br /&gt;
    --sysconfdir=${SYSCONFDIR} \&lt;br /&gt;
    --libdir=${LIBDIR} \&lt;br /&gt;
    --mandir=${MANDIR} \&lt;br /&gt;
    --with-qt-dir=${QTDIR} \&lt;br /&gt;
    --with-qt-includes=${QTDIR}/include \&lt;br /&gt;
    --with-qt-libraries=${QTDIR}/lib \&lt;br /&gt;
    $DEBUG_AUTOTOOL_OPT&lt;br /&gt;
&lt;br /&gt;
View the Distribution Specific Builds page for additional configure options.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Notes====&lt;br /&gt;
&lt;br /&gt;
*Certain modules will not build across multiple cores in parallel. That is, with a &amp;quot;make -j&amp;quot; flag set to anything greater than 1. These packages are:&lt;br /&gt;
**tdebindings (some people have no problems with this package and parallel processing)&lt;br /&gt;
**tdemultimedia (some people have no problems with this package and parallel processing) &lt;br /&gt;
&lt;br /&gt;
*Not well documented anywhere, but when building with automake several packages need the --enable-closure configure option:&lt;br /&gt;
**tdeaccessibility&lt;br /&gt;
**tdeaddons&lt;br /&gt;
**tdeadmin&lt;br /&gt;
**tdebindings&lt;br /&gt;
**tdeedu&lt;br /&gt;
**tdegames&lt;br /&gt;
**tdemultimedia&lt;br /&gt;
**tdesdk&lt;br /&gt;
&lt;br /&gt;
*When building on 64-bit, the following (T)Qt3 configuration option might need to be explicitly declared in some distro build scripts:&lt;br /&gt;
&lt;br /&gt;
 -platform linux=g++-64 (rather than linux-g++ (notice the dash!))&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Build Times===&lt;br /&gt;
&lt;br /&gt;
Building Trinity requires time and patience. Build times vary. Here are some guidelines from building &lt;br /&gt;
Trinity 3.5.12 on a dual core 2.3 GHz AM2 with 4GB of RAM, using tmpfs, 7200 rpm SATA II hard drives; &lt;br /&gt;
with Amarok, Firefox, Konsole, Konqueror, Kate, and other various apps often running concurrently. Compile &lt;br /&gt;
times will be faster without such overhead, but likely will be longer when building with support package hooks.&lt;br /&gt;
Packages using cmake will build faster than those still stuck on autotools.&lt;br /&gt;
&lt;br /&gt;
*tqtinterface: 2 minutes&lt;br /&gt;
*arts: 4 minutes&lt;br /&gt;
*tdelibs: 44 minutes&lt;br /&gt;
*tdebase: 33 minutes&lt;br /&gt;
*tdebindings: 36 minutes&lt;br /&gt;
*tdeaccessibility: 5 minutes&lt;br /&gt;
*tdeutils: 8 minutes&lt;br /&gt;
*tdemultimedia: 24 minutes&lt;br /&gt;
*tdenetwork: 23 minutes&lt;br /&gt;
*tdeadmin: 4 minutes&lt;br /&gt;
*tdeartwork: 3 minutes&lt;br /&gt;
*tdegames: 8 minutes&lt;br /&gt;
*tdetoys: 2 minutes&lt;br /&gt;
*tdeedu: 15 minutes&lt;br /&gt;
*tdegraphics: 17 minutes&lt;br /&gt;
*tdesdk: 14 minutes&lt;br /&gt;
*tdevelop: 27 minutes&lt;br /&gt;
*tdeaddons: 7 minutes&lt;br /&gt;
*tdewebdev: 12 minutes&lt;br /&gt;
*tdepim: 63 minutes &lt;br /&gt;
&lt;br /&gt;
Approximate total time: 5 hours 51 minutes&lt;br /&gt;
&lt;br /&gt;
Time to a functional system (basic desktop): 1 hour 23 minutes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Installing==&lt;br /&gt;
&lt;br /&gt;
The command is the same regardless of whether your package was built with cmake or autotools:&lt;br /&gt;
&lt;br /&gt;
 make install || exit 1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Additional Functionality==&lt;br /&gt;
&lt;br /&gt;
Certain Trinity packages gain additional functionality when compiled with additional dependencies available.&lt;br /&gt;
Also, we maintain some libraries which provide purely optional functionality.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Optional Trinity Libraries===&lt;br /&gt;
&lt;br /&gt;
None of these Trinity libraries are required but all provide additional functionality for a variety of packages. &lt;br /&gt;
These libraries must be built and installed before any packages using these libraries can take advantage of the &lt;br /&gt;
additional functionality.&lt;br /&gt;
&lt;br /&gt;
*libkipi: required by kipi-plugins&lt;br /&gt;
*kipi-plugins: several high-end image viewers such as gwenview and digikam&lt;br /&gt;
*libkdcraw: several image viewers and graphics apps, such as chalk and digikam&lt;br /&gt;
*libkexiv2: several image viewers&lt;br /&gt;
*libksquirrel: required by ksquirrel (TDE swiss-army-knife for graphic file formats, also supports medical image formats if xmedcon is provided)&lt;br /&gt;
*libtqt-perl: adept add-on&lt;br /&gt;
*mlt: not required or supported at this time&lt;br /&gt;
*mlt++: not required or supported at this time&lt;br /&gt;
*pytdeextensions: replacement for PyQt3 and PyKDE3, and used by apps such as tdebindings and tde-guidance&lt;br /&gt;
*python-trinity: replacement for PyQt3 and PyKDE3, and used by apps such as tdebindings and tde-guidance &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===List of Optional Dependencies by Trinity Package===&lt;br /&gt;
&lt;br /&gt;
====tdelibs====&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;avahi&amp;#039;&amp;#039;&amp;#039; DNS discovery&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;avahi-tqt&amp;#039;&amp;#039;&amp;#039; Trinity TQt layer for avahi, available in Trinity libraries&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;hspell&amp;#039;&amp;#039;&amp;#039; Hebrew spell checking&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;krb5&amp;#039;&amp;#039;&amp;#039; Kerberos authentication&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;openexr&amp;#039;&amp;#039;&amp;#039; EXR image format &lt;br /&gt;
&lt;br /&gt;
====tdebase====&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;avahi&amp;#039;&amp;#039;&amp;#039; DNS discovery&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;avahi-tqt&amp;#039;&amp;#039;&amp;#039; Trinity TQt layer for avahi, available in Trinity libraries&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;krb5&amp;#039;&amp;#039;&amp;#039; Kerberos authentication&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;openexr&amp;#039;&amp;#039;&amp;#039; EXR image format&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;GraphicsMagick&amp;#039;&amp;#039;&amp;#039; image filters &lt;br /&gt;
&lt;br /&gt;
====tdebindings====&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;Ruby&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;JRE&amp;#039;&amp;#039;&amp;#039; Java Runtime Environment&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;JDK&amp;#039;&amp;#039;&amp;#039; Java Development Kit&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;Python&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;python-trinity&amp;#039;&amp;#039;&amp;#039;, available in Trinity libraries&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;pytdeextensions&amp;#039;&amp;#039;&amp;#039;, available in Trinity libraries &lt;br /&gt;
&lt;br /&gt;
====tdeutils====&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;xmms&amp;#039;&amp;#039;&amp;#039; multimedia player (superkaramba) &lt;br /&gt;
&lt;br /&gt;
====tdemultimedia====&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;cdparanoia&amp;#039;&amp;#039;&amp;#039; digital audio extraction tool (kaudiocreator)&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;speex&amp;#039;&amp;#039;&amp;#039; an audio compression format designed for speech &lt;br /&gt;
&lt;br /&gt;
====tdenetwork====&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;xmms&amp;#039;&amp;#039;&amp;#039; multimedia player (kopete plugins)&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;ortp&amp;#039;&amp;#039;&amp;#039; real-time transport protocol stack under GPL (kopete plugins)&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;speex&amp;#039;&amp;#039;&amp;#039; audio compression format designed for speech (kopete plugins) &lt;br /&gt;
&lt;br /&gt;
====tdeedu====&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;facile&amp;#039;&amp;#039;&amp;#039; functional constraint library (kalzium)&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;ocaml&amp;#039;&amp;#039;&amp;#039; A programming language (kalzium)&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;boost&amp;#039;&amp;#039;&amp;#039; boost C++ Libraries &lt;br /&gt;
&lt;br /&gt;
====tdevelop====&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;graphviz&amp;#039;&amp;#039;&amp;#039; graph visualization &lt;br /&gt;
&lt;br /&gt;
====tdeaddons====&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;xmms&amp;#039;&amp;#039;&amp;#039; multimedia player (kicker applets) &lt;br /&gt;
&lt;br /&gt;
====tdewebdev====&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;XSLT&amp;#039;&amp;#039;&amp;#039; Extensible Stylesheet Language Transformations&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;DocBook&amp;#039;&amp;#039;&amp;#039; text markup&lt;br /&gt;
&lt;br /&gt;
====tdepim====&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;krb5&amp;#039;&amp;#039;&amp;#039; Kerberos authentication&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;ortp&amp;#039;&amp;#039;&amp;#039; real-time transport protocol stack under GPL (kopete)&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;gnokii&amp;#039;&amp;#039;&amp;#039; Nokia mobile phone support&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;opensync&amp;#039;&amp;#039;&amp;#039; data synchronization support&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;libcaldav&amp;#039;&amp;#039;&amp;#039; online calendar support, available through Trinity web site (http://www.trinitydesktop.org/relatedprojects.php)&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;libcarddav&amp;#039;&amp;#039;&amp;#039; online address book support, available through Trinity web site (http://www.trinitydesktop.org/relatedprojects.php) &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Quirks and Known Bugs==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Building Sip===&lt;br /&gt;
&lt;br /&gt;
Sip is available on many/most distros. Sip requires Qt3 to build, but won&amp;#039;t build on TQt3, which adds &lt;br /&gt;
the tqinterface layer to Qt3. More than likely down the road, Sip will be dumped or moved to Qt4 by distro &lt;br /&gt;
maintainers. All of the python-*-tqt-* packages need Sip to build. Build this TQt3 compatible version of Sip &lt;br /&gt;
and replace the stock Sip installed with the distro.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===OpenGL and nVidia===&lt;br /&gt;
&lt;br /&gt;
Building many Trinity and related packages depend upon OpenGL, such as &lt;br /&gt;
tdegraphics, k3b, koffice, tdenetwork, gwenview, digikam, etc.; &lt;br /&gt;
&lt;br /&gt;
as well as dependency packages such as &lt;br /&gt;
libkipi, libkdcraw, libkexiv2, avahi, etc. &lt;br /&gt;
&lt;br /&gt;
If any of those packages are built when the proprietary nvidia drivers are installed, the dependent package will fail to build &lt;br /&gt;
with an error about /usr/lib/libGL.la. &lt;br /&gt;
&lt;br /&gt;
That file is installed by the proprietary nvidia package. When building for personal use only, then building those packages with nvidia installed will pose no harm. &lt;br /&gt;
&lt;br /&gt;
When building packages for other users then build the entire suite of packages in a &amp;quot;clean&amp;quot; generic OpenGL environment. &lt;br /&gt;
&lt;br /&gt;
Other users might not use the proprietary nvidia package. This is true of any package that has OpenGL dependencies.&lt;br /&gt;
&lt;br /&gt;
===Tdeartwork and xhack Screensavers===&lt;br /&gt;
&lt;br /&gt;
Before building tdeartwork, install any and all xhack screensavers that might be uses, then&lt;br /&gt;
&lt;br /&gt;
cd &amp;lt;tdeartwork&amp;gt;/kscreensaver/kxsconfig/&lt;br /&gt;
./update_hacks.sh&lt;br /&gt;
&lt;br /&gt;
This will generate the TDE bindings required to allow installed screensavers show up in the Trinity &lt;br /&gt;
screensaver control panel, along with their configuration options. When adding a new screensaver the &lt;br /&gt;
update_hacks command needs to be rerun and tdeartwork recompiled/reinstalled. Distribution maintainers should &lt;br /&gt;
install all available screensavers from their distribution and then run update_hacks during the initial build &lt;br /&gt;
setup when building redistributable binary packages (see the Debian tdeartwork build scripts in GIT for an &lt;br /&gt;
example of how to do this).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Poppler Support in Tdegraphics===&lt;br /&gt;
&lt;br /&gt;
Building tdegraphics with poppler support requires building a Trinity poppler-tqt support package. With &lt;br /&gt;
many distros poppler no longer is built with Qt3 support. The Trinity poppler-tqt provides the necessary hooks for &lt;br /&gt;
tdegraphics without rebuilding poppler. The poppler-tqt dependency sources are located in the tdegraphics/kfile-plugins &lt;br /&gt;
dependencies directory and are built automatically with the tdegraphics build option -DWITH_PDF=ON.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Tdesvn/Tdesdk svn-kio Conflict===&lt;br /&gt;
&lt;br /&gt;
tdesvn and tdesdk provide conflicting files for svn-kio services. Neither package is a dependency of the other. &lt;br /&gt;
When tdesdk or tdesvn will be installed without the other, then no change is required. When both tdesdk and tdesvn &lt;br /&gt;
are to be installed, then to avoid filesystem conflicts the following files must be removed from one of the packages &lt;br /&gt;
before installing:&lt;br /&gt;
&lt;br /&gt;
  /opt/trinity/share/services/svn+file.protocol&lt;br /&gt;
  /opt/trinity/share/services/svn+http.protocol&lt;br /&gt;
  /opt/trinity/share/services/svn+https.protocol&lt;br /&gt;
  /opt/trinity/share/services/svn+ssh.protocol&lt;br /&gt;
  /opt/trinity/share/services/svn.protocol&lt;br /&gt;
&lt;br /&gt;
Since tdesvn uses the ksvn kio exclusively, while tdesdk uses the svn kio, consider removing the conflicting files &lt;br /&gt;
from tdesdk to eliminate the same services relying on multiple kio service files.&lt;/div&gt;</summary>
		<author><name>Cethyel</name></author>
	</entry>
	<entry>
		<id>https://wiki.trinitydesktop.net/index.php?title=How_to_Build_TDE_Core_Modules&amp;diff=1613</id>
		<title>How to Build TDE Core Modules</title>
		<link rel="alternate" type="text/html" href="https://wiki.trinitydesktop.net/index.php?title=How_to_Build_TDE_Core_Modules&amp;diff=1613"/>
		<updated>2021-06-09T22:12:18Z</updated>

		<summary type="html">&lt;p&gt;Cethyel: /* Performing a cmake Build with Ninja */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Documentation]]&lt;br /&gt;
[[Category:Installation]]&lt;br /&gt;
[[Category:Developers]]&lt;br /&gt;
This HowTo provides detailed notes and explanations for building the Trinity Desktop Environment base&lt;br /&gt;
packages.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Introduction and Requirements==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Basic Building Requirements===&lt;br /&gt;
&lt;br /&gt;
Individual Linux distributions might have different build requirements. If these are known they will be available &lt;br /&gt;
on the Distribution Specific Builds page.&lt;br /&gt;
&lt;br /&gt;
There is an ongoing effort to convert the build process from autotools to cmake. Until the cmake conversion is &lt;br /&gt;
complete, both cmake and autotools are needed to build Trinity packages. cmake 2.8.12 or more recent is expected &lt;br /&gt;
when building with cmake.&lt;br /&gt;
&lt;br /&gt;
To build the packages still using autotools, you will need a standard autotools setup (automake, autoconf, etc.)&lt;br /&gt;
&lt;br /&gt;
You&amp;#039;ll also need a C++ compiler. g++ from the GNU Compiler Collection is the most usual, the current GIT version of Trinity has been tested &lt;br /&gt;
against versions up to and including 4.6. clang++ is also supported.&lt;br /&gt;
&lt;br /&gt;
===Other Requirements===&lt;br /&gt;
&lt;br /&gt;
(NOTE:  List compiled from old QT3/kdelibs/kde-base ebuilds--will someone please check these?)&lt;br /&gt;
&lt;br /&gt;
Most of the non-build-related mandatory dependencies for the core Trinity packages are pretty basic:&lt;br /&gt;
&lt;br /&gt;
*an X server&lt;br /&gt;
*openssl&lt;br /&gt;
*fontconfig&lt;br /&gt;
*freetype&lt;br /&gt;
*ghostscript&lt;br /&gt;
*xdg support&lt;br /&gt;
*libpng&lt;br /&gt;
*libmng&lt;br /&gt;
&lt;br /&gt;
If your Linux distribution came with any kind of graphical environment at all, you should already have&lt;br /&gt;
this stuff.&lt;br /&gt;
&lt;br /&gt;
To build tdepim, you will also need libical (standard on many distros).&lt;br /&gt;
&lt;br /&gt;
See Additional Functionality for a list of optional dependencies and what they enable.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===About QT3===&lt;br /&gt;
&lt;br /&gt;
Trinity uses the QT3 widget toolkit.  Since Trolltech, the original owners, dropped support for QT3&lt;br /&gt;
several years ago, the Trinity Project has taken over QT3&amp;#039;s maintenance.  In other words, we&amp;#039;re now&lt;br /&gt;
QT3 upstream, and you should be obtaining your QT3 sources from the Trinity package tarballs or GIT repository.&lt;br /&gt;
&lt;br /&gt;
The version of QT3 used with Trinity 3.5.13 and later incorporates numerous patches.  If you&amp;#039;re trying to &lt;br /&gt;
use an old QT3/KDE3 packaging build setup for your distribution with Trinity&amp;#039;s QT3, don&amp;#039;t be too surprised &lt;br /&gt;
if some patches don&amp;#039;t apply.  Unless the patch is distribution-specific, chances are that it&amp;#039;s been added&lt;br /&gt;
to the main source tree.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===About libart===&lt;br /&gt;
&lt;br /&gt;
libart-lgpl is another dependency package that the Trinity Project has taken over after it was &lt;br /&gt;
[https://bugzilla.gnome.org/show_bug.cgi?id=155472#c4 dropped] by its original maintainer, because &lt;br /&gt;
it needed several [http://git.trinitydesktop.org/cgit/libart-lgpl/diff/?id=150562b89b645c402f1bb837a09f8b84bf6e49ec patches] &lt;br /&gt;
to prevent crashes.  The version of libart provided by the Trinity Project includes those patches and is &lt;br /&gt;
intended to be a replacement for any version of libart currently installed by any distro. Build this patched version &lt;br /&gt;
of libart and replace the stock libart installed with the distro.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Coexisting with QT4/KDE4===&lt;br /&gt;
&lt;br /&gt;
Trinity is intended to be able to run on computers that also have KDE4 installed.  Originally, a lot of&lt;br /&gt;
Trinity applications had the same names as their KDE4 counterparts, which was problematic.  All of &lt;br /&gt;
those have been renamed.  In general, this was accomplished by changing the old KDE &amp;quot;K&amp;quot; prefix to a &lt;br /&gt;
&amp;quot;T&amp;quot; (&amp;quot;kwin&amp;quot; -&amp;gt; &amp;quot;twin&amp;quot;).  Applications that don&amp;#039;t match anything currently part of KDE4 have retained their &lt;br /&gt;
old names.&lt;br /&gt;
&lt;br /&gt;
To avoid stepping on KDE4&amp;#039;s toes, we &amp;#039;&amp;#039;strongly&amp;#039;&amp;#039; suggest picking a specific subdirectory prefix to install Trinity&lt;br /&gt;
to--the one used in these directions is $PREFIX=/opt/trinity.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Preparing the Source==&lt;br /&gt;
&lt;br /&gt;
To use the release tarballs, just untar them somewhere.&lt;br /&gt;
&lt;br /&gt;
To live dangerously and use the GIT sources, read [[Notes on GIT Sources]] first.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Building==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Suggested Build Order===&lt;br /&gt;
&lt;br /&gt;
A lot of the Trinity core packages depend on one another (in particular, everything depends on tdelibs).&lt;br /&gt;
Follow this build order to prevent problems.&lt;br /&gt;
&lt;br /&gt;
Start with the required core packages:&lt;br /&gt;
&lt;br /&gt;
#tqt3 (replaces Qt3; Qt3 without the tqtinterface layer remains available)&lt;br /&gt;
#cmake-trinity&lt;br /&gt;
#tqtinterface&lt;br /&gt;
#arts&lt;br /&gt;
#dbus-tqt&lt;br /&gt;
#dbus-1-tqt&lt;br /&gt;
#tqca-tls (Recommended but required for some applications, such as the Kopete OTR add-on)&lt;br /&gt;
#libart-lgpl&lt;br /&gt;
#avahi-tqt (Recommended but required when supporting DNS discovery services)&lt;br /&gt;
#tdelibs&lt;br /&gt;
#tdebase&lt;br /&gt;
&lt;br /&gt;
At this point, you should have a functioning TDE desktop with basic utilities (terminal, file manager,&lt;br /&gt;
text/source editors, etc.)  If you&amp;#039;re going to build tdebindings and want Python support available,&lt;br /&gt;
continue with the Python linking packages (or skip over them if you don&amp;#039;t care about Python support):&lt;br /&gt;
&lt;br /&gt;
#sip4-tqt&lt;br /&gt;
#python-tqt&lt;br /&gt;
#pytdeextensions&lt;br /&gt;
#python-trinity&lt;br /&gt;
#tqscintilla &lt;br /&gt;
&lt;br /&gt;
The following build order seems to work well for the remaining core packages when building the stable release.&lt;br /&gt;
You don&amp;#039;t have to install everything, though, unless you&amp;#039;re packaging TDE for your distribution--pick the packages &lt;br /&gt;
that suit your use case.&lt;br /&gt;
&lt;br /&gt;
#tdebindings&lt;br /&gt;
#tdeaccessibility&lt;br /&gt;
#tdeutils&lt;br /&gt;
#tdemultimedia&lt;br /&gt;
#tdenetwork&lt;br /&gt;
#tdeadmin&lt;br /&gt;
#tdeartwork&lt;br /&gt;
#tdegames&lt;br /&gt;
#tdetoys&lt;br /&gt;
#tdeedu&lt;br /&gt;
#tdegraphics&lt;br /&gt;
#tdepim&lt;br /&gt;
#tdesdk (Build tdesdk after installing tdepim. tdepim provides libkcal (bugzilla) hooks for tdesdk.)&lt;br /&gt;
#tdevelop (Build tdevelop after tdesdk. tdesdk provides cvs support for tdevelop.)&lt;br /&gt;
#tdeaddons &lt;br /&gt;
&lt;br /&gt;
Once that&amp;#039;s done, you may want to add [[How to Build Extra Applications|some extra applications]] on top.&lt;br /&gt;
&lt;br /&gt;
===Building Packages with cmake===&lt;br /&gt;
&lt;br /&gt;
Starting from TDE version R14.0.11, the package cmake-trinity is mandatory prior to building, this package includes the required macros for the build.&lt;br /&gt;
&lt;br /&gt;
====List of Packages Building with cmake====&lt;br /&gt;
&lt;br /&gt;
cmake is the newer, easier, and more maintainable build system the Trinity Project is in the process of porting TDE source to.&lt;br /&gt;
&lt;br /&gt;
The list of modules maintained as an [https://mirror.git.trinitydesktop.org/gitea/TDE/tde/issues/9 issue #9 in the TGW] indicates which core and dependency packages have already been converted, and their autotools build scripts are no longer maintained. Some other packages are in the process of conversion, but do not have complete cmake build scripts yet. Build everything not in the list above with autotools.&lt;br /&gt;
&lt;br /&gt;
Read the notes section below for individual package requirements before trying to build anything.&lt;br /&gt;
&lt;br /&gt;
====Performing a cmake Build with Ninja====&lt;br /&gt;
&lt;br /&gt;
The command listing below is only an example.  You will wish to edit the exports if your distribution&lt;br /&gt;
puts things in unusual locations or if you wish to install to somewhere other than /opt/trinity (tqtinterface&lt;br /&gt;
has special requirements--see the Notes).  Not all exports will be needed on all systems.&lt;br /&gt;
&lt;br /&gt;
 export PREFIX=/opt/trinity&lt;br /&gt;
 export SYSCONFDIR=/etc/trinity&lt;br /&gt;
 export LIBDIR=$PREFIX/lib&lt;br /&gt;
 export MANDIR=$PREFIX/man&lt;br /&gt;
 export TQTDIR=$PREFIX/tqt3&lt;br /&gt;
 export PATH=$TQTDIR/bin:$PREFIX/bin:$PATH&lt;br /&gt;
 export LD_LIBRARY_PATH=$LIBDIR:$LIBDIR/trinity:$LD_LIBRARY_PATH&lt;br /&gt;
 export PKG_CONFIG_PATH=:$LIBDIR/pkgconfig:$TQTDIR/lib/pkgconfig:$PKG_CONFIG_PATH&lt;br /&gt;
 &lt;br /&gt;
 from the Trinity module:&lt;br /&gt;
 mkdir -p build &amp;amp;&amp;amp; cd build&lt;br /&gt;
 cmake -G &amp;quot;Ninja&amp;quot; \&lt;br /&gt;
    -DCMAKE_EXPORT_COMPILE_COMMANDS=&amp;quot;ON&amp;quot; \&lt;br /&gt;
    -DCMAKE_BUILD_TYPE=RelWithDebInfo \&lt;br /&gt;
    -DCMAKE_SKIP_RPATH=&amp;quot;OFF&amp;quot; \&lt;br /&gt;
    -DCMAKE_INSTALL_PREFIX=${PREFIX} \&lt;br /&gt;
    -DSYSCONF_INSTALL_DIR=${SYSCONFDIR} \&lt;br /&gt;
    -DLIB_SUFFIX=${LIBDIRSUFFIX} \&lt;br /&gt;
    -DMAN_INSTALL_DIR=${MANDIR} \&lt;br /&gt;
    -DBUILD_ALL=&amp;quot;ON&amp;quot; \&lt;br /&gt;
    -DWITH_ALL_OPTIONS=&amp;quot;ON&amp;quot; ..&lt;br /&gt;
  cmake --build . -- VERBOSE=1&lt;br /&gt;
&lt;br /&gt;
====Notes====&lt;br /&gt;
&lt;br /&gt;
*Until the cmake migration is fully completed, tqtinterface should be built to install with a $PREFIX of /usr rather than /opt/trinity, even if you are installing everything else to /opt/trinity.&lt;br /&gt;
&lt;br /&gt;
*tqtinterface requires the following additional QT-related build option:&lt;br /&gt;
&lt;br /&gt;
 -DQT_VERSION=3&lt;br /&gt;
&lt;br /&gt;
*arts and tdelibs execute compiled binaries as part of the build process. Therefore they need to have -DCMAKE_SKIP_RPATH=&amp;quot;OFF&amp;quot; set. All other modules do not need the RPATH set.&lt;br /&gt;
&lt;br /&gt;
*When building on 64-bit, the following (T)Qt3 configuration option might need to be explicitly declared in some distro build scripts:&lt;br /&gt;
&lt;br /&gt;
 -platform linux-g++-64 (rather than linux-g++ (notice the dash!))&lt;br /&gt;
&lt;br /&gt;
*If class constructor issues surface during the build, please post the error to the trinity-users list.&lt;br /&gt;
&lt;br /&gt;
===Building Packages with Autoconf===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Introduction====&lt;br /&gt;
&lt;br /&gt;
If the package you&amp;#039;re trying to build is on the list of those that will build with cmake, try that first, because &lt;br /&gt;
its autotools files will be unmaintained, bit-rotted, and possibly outright broken.&lt;br /&gt;
&lt;br /&gt;
Please read the notes section below for individual package requirements before trying to build anything.&lt;br /&gt;
&lt;br /&gt;
For those packages that still need to be built with autotools, the following steps must be run for each affected &lt;br /&gt;
Trinity module, including tarball snapshots.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Regenerate Autoconf/Automake files====&lt;br /&gt;
&lt;br /&gt;
cd to the desired module to build, then run:&lt;br /&gt;
&lt;br /&gt;
 cp -Rp &amp;lt;path to your system&amp;#039;s libtool.m4 file&amp;gt; admin/libtool.m4.in&lt;br /&gt;
 cp -Rp &amp;lt;path to your system&amp;#039;s ltmain.sh file&amp;gt; admin/ltmain.sh&lt;br /&gt;
 make -f admin/Makefile.common&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Configure and Build====&lt;br /&gt;
&lt;br /&gt;
 export PREFIX=/opt/trinity&lt;br /&gt;
 export SYSCONFDIR=/etc/trinity&lt;br /&gt;
 export LIBDIR=/opt/trinity/lib&lt;br /&gt;
 export MANDIR=/opt/trinity/man&lt;br /&gt;
 export QTDIR=/opt/trinity/lib/qt3-3.3.8.d&lt;br /&gt;
 export PATH=/opt/trinity/qt3-3.3.8.d/bin:/opt/trinity/bin:$PATH&lt;br /&gt;
 export LD_LIBRARY_PATH=/opt/trinity/lib:/opt/trinity/lib/trinity:$LD_LIBRARY_PATH&lt;br /&gt;
 export PKG_CONFIG_PATH=:/opt/trinity/lib/pkgconfig:/opt/trinity/qt3-3.3.8.d/lib/pkgconfig:$PKG_CONFIG_PATH&lt;br /&gt;
 # Enable only one of the following:&lt;br /&gt;
 # export DEBUG_AUTOTOOL_OPT=&amp;quot;--enable-debug=full&amp;quot;&lt;br /&gt;
 export DEBUG_AUTOTOOL_OPT=&amp;quot;--disable-debug&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
  CFLAGS=$CPUOPT \&lt;br /&gt;
  CXXFLAGS=$CPUOPT \&lt;br /&gt;
  ./configure \&lt;br /&gt;
    --prefix=${PREFIX} \&lt;br /&gt;
    --sysconfdir=${SYSCONFDIR} \&lt;br /&gt;
    --libdir=${LIBDIR} \&lt;br /&gt;
    --mandir=${MANDIR} \&lt;br /&gt;
    --with-qt-dir=${QTDIR} \&lt;br /&gt;
    --with-qt-includes=${QTDIR}/include \&lt;br /&gt;
    --with-qt-libraries=${QTDIR}/lib \&lt;br /&gt;
    $DEBUG_AUTOTOOL_OPT&lt;br /&gt;
&lt;br /&gt;
View the Distribution Specific Builds page for additional configure options.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Notes====&lt;br /&gt;
&lt;br /&gt;
*Certain modules will not build across multiple cores in parallel. That is, with a &amp;quot;make -j&amp;quot; flag set to anything greater than 1. These packages are:&lt;br /&gt;
**tdebindings (some people have no problems with this package and parallel processing)&lt;br /&gt;
**tdemultimedia (some people have no problems with this package and parallel processing) &lt;br /&gt;
&lt;br /&gt;
*Not well documented anywhere, but when building with automake several packages need the --enable-closure configure option:&lt;br /&gt;
**tdeaccessibility&lt;br /&gt;
**tdeaddons&lt;br /&gt;
**tdeadmin&lt;br /&gt;
**tdebindings&lt;br /&gt;
**tdeedu&lt;br /&gt;
**tdegames&lt;br /&gt;
**tdemultimedia&lt;br /&gt;
**tdesdk&lt;br /&gt;
&lt;br /&gt;
*When building on 64-bit, the following (T)Qt3 configuration option might need to be explicitly declared in some distro build scripts:&lt;br /&gt;
&lt;br /&gt;
 -platform linux=g++-64 (rather than linux-g++ (notice the dash!))&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Build Times===&lt;br /&gt;
&lt;br /&gt;
Building Trinity requires time and patience. Build times vary. Here are some guidelines from building &lt;br /&gt;
Trinity 3.5.12 on a dual core 2.3 GHz AM2 with 4GB of RAM, using tmpfs, 7200 rpm SATA II hard drives; &lt;br /&gt;
with Amarok, Firefox, Konsole, Konqueror, Kate, and other various apps often running concurrently. Compile &lt;br /&gt;
times will be faster without such overhead, but likely will be longer when building with support package hooks.&lt;br /&gt;
Packages using cmake will build faster than those still stuck on autotools.&lt;br /&gt;
&lt;br /&gt;
*tqtinterface: 2 minutes&lt;br /&gt;
*arts: 4 minutes&lt;br /&gt;
*tdelibs: 44 minutes&lt;br /&gt;
*tdebase: 33 minutes&lt;br /&gt;
*tdebindings: 36 minutes&lt;br /&gt;
*tdeaccessibility: 5 minutes&lt;br /&gt;
*tdeutils: 8 minutes&lt;br /&gt;
*tdemultimedia: 24 minutes&lt;br /&gt;
*tdenetwork: 23 minutes&lt;br /&gt;
*tdeadmin: 4 minutes&lt;br /&gt;
*tdeartwork: 3 minutes&lt;br /&gt;
*tdegames: 8 minutes&lt;br /&gt;
*tdetoys: 2 minutes&lt;br /&gt;
*tdeedu: 15 minutes&lt;br /&gt;
*tdegraphics: 17 minutes&lt;br /&gt;
*tdesdk: 14 minutes&lt;br /&gt;
*tdevelop: 27 minutes&lt;br /&gt;
*tdeaddons: 7 minutes&lt;br /&gt;
*tdewebdev: 12 minutes&lt;br /&gt;
*tdepim: 63 minutes &lt;br /&gt;
&lt;br /&gt;
Approximate total time: 5 hours 51 minutes&lt;br /&gt;
&lt;br /&gt;
Time to a functional system (basic desktop): 1 hour 23 minutes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Installing==&lt;br /&gt;
&lt;br /&gt;
The command is the same regardless of whether your package was built with cmake or autotools:&lt;br /&gt;
&lt;br /&gt;
 make install || exit 1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Additional Functionality==&lt;br /&gt;
&lt;br /&gt;
Certain Trinity packages gain additional functionality when compiled with additional dependencies available.&lt;br /&gt;
Also, we maintain some libraries which provide purely optional functionality.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Optional Trinity Libraries===&lt;br /&gt;
&lt;br /&gt;
None of these Trinity libraries are required but all provide additional functionality for a variety of packages. &lt;br /&gt;
These libraries must be built and installed before any packages using these libraries can take advantage of the &lt;br /&gt;
additional functionality.&lt;br /&gt;
&lt;br /&gt;
*libkipi: required by kipi-plugins&lt;br /&gt;
*kipi-plugins: several high-end image viewers such as gwenview and digikam&lt;br /&gt;
*libkdcraw: several image viewers and graphics apps, such as chalk and digikam&lt;br /&gt;
*libkexiv2: several image viewers&lt;br /&gt;
*libksquirrel: required by ksquirrel (TDE swiss-army-knife for graphic file formats, also supports medical image formats if xmedcon is provided)&lt;br /&gt;
*libtqt-perl: adept add-on&lt;br /&gt;
*mlt: not required or supported at this time&lt;br /&gt;
*mlt++: not required or supported at this time&lt;br /&gt;
*pytdeextensions: replacement for PyQt3 and PyKDE3, and used by apps such as tdebindings and tde-guidance&lt;br /&gt;
*python-trinity: replacement for PyQt3 and PyKDE3, and used by apps such as tdebindings and tde-guidance &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===List of Optional Dependencies by Trinity Package===&lt;br /&gt;
&lt;br /&gt;
====tdelibs====&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;avahi&amp;#039;&amp;#039;&amp;#039; DNS discovery&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;avahi-tqt&amp;#039;&amp;#039;&amp;#039; Trinity TQt layer for avahi, available in Trinity libraries&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;hspell&amp;#039;&amp;#039;&amp;#039; Hebrew spell checking&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;krb5&amp;#039;&amp;#039;&amp;#039; Kerberos authentication&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;openexr&amp;#039;&amp;#039;&amp;#039; EXR image format &lt;br /&gt;
&lt;br /&gt;
====tdebase====&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;avahi&amp;#039;&amp;#039;&amp;#039; DNS discovery&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;avahi-tqt&amp;#039;&amp;#039;&amp;#039; Trinity TQt layer for avahi, available in Trinity libraries&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;krb5&amp;#039;&amp;#039;&amp;#039; Kerberos authentication&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;openexr&amp;#039;&amp;#039;&amp;#039; EXR image format&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;GraphicsMagick&amp;#039;&amp;#039;&amp;#039; image filters &lt;br /&gt;
&lt;br /&gt;
====tdebindings====&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;Ruby&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;JRE&amp;#039;&amp;#039;&amp;#039; Java Runtime Environment&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;JDK&amp;#039;&amp;#039;&amp;#039; Java Development Kit&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;Python&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;python-trinity&amp;#039;&amp;#039;&amp;#039;, available in Trinity libraries&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;pytdeextensions&amp;#039;&amp;#039;&amp;#039;, available in Trinity libraries &lt;br /&gt;
&lt;br /&gt;
====tdeutils====&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;xmms&amp;#039;&amp;#039;&amp;#039; multimedia player (superkaramba) &lt;br /&gt;
&lt;br /&gt;
====tdemultimedia====&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;cdparanoia&amp;#039;&amp;#039;&amp;#039; digital audio extraction tool (kaudiocreator)&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;speex&amp;#039;&amp;#039;&amp;#039; an audio compression format designed for speech &lt;br /&gt;
&lt;br /&gt;
====tdenetwork====&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;xmms&amp;#039;&amp;#039;&amp;#039; multimedia player (kopete plugins)&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;ortp&amp;#039;&amp;#039;&amp;#039; real-time transport protocol stack under GPL (kopete plugins)&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;speex&amp;#039;&amp;#039;&amp;#039; audio compression format designed for speech (kopete plugins) &lt;br /&gt;
&lt;br /&gt;
====tdeedu====&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;facile&amp;#039;&amp;#039;&amp;#039; functional constraint library (kalzium)&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;ocaml&amp;#039;&amp;#039;&amp;#039; A programming language (kalzium)&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;boost&amp;#039;&amp;#039;&amp;#039; boost C++ Libraries &lt;br /&gt;
&lt;br /&gt;
====tdevelop====&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;graphviz&amp;#039;&amp;#039;&amp;#039; graph visualization &lt;br /&gt;
&lt;br /&gt;
====tdeaddons====&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;xmms&amp;#039;&amp;#039;&amp;#039; multimedia player (kicker applets) &lt;br /&gt;
&lt;br /&gt;
====tdewebdev====&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;XSLT&amp;#039;&amp;#039;&amp;#039; Extensible Stylesheet Language Transformations&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;DocBook&amp;#039;&amp;#039;&amp;#039; text markup&lt;br /&gt;
&lt;br /&gt;
====tdepim====&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;krb5&amp;#039;&amp;#039;&amp;#039; Kerberos authentication&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;ortp&amp;#039;&amp;#039;&amp;#039; real-time transport protocol stack under GPL (kopete)&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;gnokii&amp;#039;&amp;#039;&amp;#039; Nokia mobile phone support&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;opensync&amp;#039;&amp;#039;&amp;#039; data synchronization support&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;libcaldav&amp;#039;&amp;#039;&amp;#039; online calendar support, available through Trinity web site (http://www.trinitydesktop.org/relatedprojects.php)&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;libcarddav&amp;#039;&amp;#039;&amp;#039; online address book support, available through Trinity web site (http://www.trinitydesktop.org/relatedprojects.php) &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Quirks and Known Bugs==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Building Sip===&lt;br /&gt;
&lt;br /&gt;
Sip is available on many/most distros. Sip requires Qt3 to build, but won&amp;#039;t build on TQt3, which adds &lt;br /&gt;
the tqinterface layer to Qt3. More than likely down the road, Sip will be dumped or moved to Qt4 by distro &lt;br /&gt;
maintainers. All of the python-*-tqt-* packages need Sip to build. Build this TQt3 compatible version of Sip &lt;br /&gt;
and replace the stock Sip installed with the distro.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===OpenGL and nVidia===&lt;br /&gt;
&lt;br /&gt;
Building many Trinity and related packages depend upon OpenGL, such as &lt;br /&gt;
tdegraphics, k3b, koffice, tdenetwork, gwenview, digikam, etc.; &lt;br /&gt;
&lt;br /&gt;
as well as dependency packages such as &lt;br /&gt;
libkipi, libkdcraw, libkexiv2, avahi, etc. &lt;br /&gt;
&lt;br /&gt;
If any of those packages are built when the proprietary nvidia drivers are installed, the dependent package will fail to build &lt;br /&gt;
with an error about /usr/lib/libGL.la. &lt;br /&gt;
&lt;br /&gt;
That file is installed by the proprietary nvidia package. When building for personal use only, then building those packages with nvidia installed will pose no harm. &lt;br /&gt;
&lt;br /&gt;
When building packages for other users then build the entire suite of packages in a &amp;quot;clean&amp;quot; generic OpenGL environment. &lt;br /&gt;
&lt;br /&gt;
Other users might not use the proprietary nvidia package. This is true of any package that has OpenGL dependencies.&lt;br /&gt;
&lt;br /&gt;
===Tdeartwork and xhack Screensavers===&lt;br /&gt;
&lt;br /&gt;
Before building tdeartwork, install any and all xhack screensavers that might be uses, then&lt;br /&gt;
&lt;br /&gt;
cd &amp;lt;tdeartwork&amp;gt;/kscreensaver/kxsconfig/&lt;br /&gt;
./update_hacks.sh&lt;br /&gt;
&lt;br /&gt;
This will generate the TDE bindings required to allow installed screensavers show up in the Trinity &lt;br /&gt;
screensaver control panel, along with their configuration options. When adding a new screensaver the &lt;br /&gt;
update_hacks command needs to be rerun and tdeartwork recompiled/reinstalled. Distribution maintainers should &lt;br /&gt;
install all available screensavers from their distribution and then run update_hacks during the initial build &lt;br /&gt;
setup when building redistributable binary packages (see the Debian tdeartwork build scripts in GIT for an &lt;br /&gt;
example of how to do this).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Poppler Support in Tdegraphics===&lt;br /&gt;
&lt;br /&gt;
Building tdegraphics with poppler support requires building a Trinity poppler-tqt support package. With &lt;br /&gt;
many distros poppler no longer is built with Qt3 support. The Trinity poppler-tqt provides the necessary hooks for &lt;br /&gt;
tdegraphics without rebuilding poppler. The poppler-tqt dependency sources are located in the tdegraphics/kfile-plugins &lt;br /&gt;
dependencies directory and are built automatically with the tdegraphics build option -DWITH_PDF=ON.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Tdesvn/Tdesdk svn-kio Conflict===&lt;br /&gt;
&lt;br /&gt;
tdesvn and tdesdk provide conflicting files for svn-kio services. Neither package is a dependency of the other. &lt;br /&gt;
When tdesdk or tdesvn will be installed without the other, then no change is required. When both tdesdk and tdesvn &lt;br /&gt;
are to be installed, then to avoid filesystem conflicts the following files must be removed from one of the packages &lt;br /&gt;
before installing:&lt;br /&gt;
&lt;br /&gt;
  /opt/trinity/share/services/svn+file.protocol&lt;br /&gt;
  /opt/trinity/share/services/svn+http.protocol&lt;br /&gt;
  /opt/trinity/share/services/svn+https.protocol&lt;br /&gt;
  /opt/trinity/share/services/svn+ssh.protocol&lt;br /&gt;
  /opt/trinity/share/services/svn.protocol&lt;br /&gt;
&lt;br /&gt;
Since tdesvn uses the ksvn kio exclusively, while tdesdk uses the svn kio, consider removing the conflicting files &lt;br /&gt;
from tdesdk to eliminate the same services relying on multiple kio service files.&lt;/div&gt;</summary>
		<author><name>Cethyel</name></author>
	</entry>
	<entry>
		<id>https://wiki.trinitydesktop.net/index.php?title=How_to_Build_TDE_Core_Modules&amp;diff=1612</id>
		<title>How to Build TDE Core Modules</title>
		<link rel="alternate" type="text/html" href="https://wiki.trinitydesktop.net/index.php?title=How_to_Build_TDE_Core_Modules&amp;diff=1612"/>
		<updated>2021-06-09T22:07:47Z</updated>

		<summary type="html">&lt;p&gt;Cethyel: /* Performing a cmake Build */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Documentation]]&lt;br /&gt;
[[Category:Installation]]&lt;br /&gt;
[[Category:Developers]]&lt;br /&gt;
This HowTo provides detailed notes and explanations for building the Trinity Desktop Environment base&lt;br /&gt;
packages.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Introduction and Requirements==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Basic Building Requirements===&lt;br /&gt;
&lt;br /&gt;
Individual Linux distributions might have different build requirements. If these are known they will be available &lt;br /&gt;
on the Distribution Specific Builds page.&lt;br /&gt;
&lt;br /&gt;
There is an ongoing effort to convert the build process from autotools to cmake. Until the cmake conversion is &lt;br /&gt;
complete, both cmake and autotools are needed to build Trinity packages. cmake 2.8.12 or more recent is expected &lt;br /&gt;
when building with cmake.&lt;br /&gt;
&lt;br /&gt;
To build the packages still using autotools, you will need a standard autotools setup (automake, autoconf, etc.)&lt;br /&gt;
&lt;br /&gt;
You&amp;#039;ll also need a C++ compiler. g++ from the GNU Compiler Collection is the most usual, the current GIT version of Trinity has been tested &lt;br /&gt;
against versions up to and including 4.6. clang++ is also supported.&lt;br /&gt;
&lt;br /&gt;
===Other Requirements===&lt;br /&gt;
&lt;br /&gt;
(NOTE:  List compiled from old QT3/kdelibs/kde-base ebuilds--will someone please check these?)&lt;br /&gt;
&lt;br /&gt;
Most of the non-build-related mandatory dependencies for the core Trinity packages are pretty basic:&lt;br /&gt;
&lt;br /&gt;
*an X server&lt;br /&gt;
*openssl&lt;br /&gt;
*fontconfig&lt;br /&gt;
*freetype&lt;br /&gt;
*ghostscript&lt;br /&gt;
*xdg support&lt;br /&gt;
*libpng&lt;br /&gt;
*libmng&lt;br /&gt;
&lt;br /&gt;
If your Linux distribution came with any kind of graphical environment at all, you should already have&lt;br /&gt;
this stuff.&lt;br /&gt;
&lt;br /&gt;
To build tdepim, you will also need libical (standard on many distros).&lt;br /&gt;
&lt;br /&gt;
See Additional Functionality for a list of optional dependencies and what they enable.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===About QT3===&lt;br /&gt;
&lt;br /&gt;
Trinity uses the QT3 widget toolkit.  Since Trolltech, the original owners, dropped support for QT3&lt;br /&gt;
several years ago, the Trinity Project has taken over QT3&amp;#039;s maintenance.  In other words, we&amp;#039;re now&lt;br /&gt;
QT3 upstream, and you should be obtaining your QT3 sources from the Trinity package tarballs or GIT repository.&lt;br /&gt;
&lt;br /&gt;
The version of QT3 used with Trinity 3.5.13 and later incorporates numerous patches.  If you&amp;#039;re trying to &lt;br /&gt;
use an old QT3/KDE3 packaging build setup for your distribution with Trinity&amp;#039;s QT3, don&amp;#039;t be too surprised &lt;br /&gt;
if some patches don&amp;#039;t apply.  Unless the patch is distribution-specific, chances are that it&amp;#039;s been added&lt;br /&gt;
to the main source tree.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===About libart===&lt;br /&gt;
&lt;br /&gt;
libart-lgpl is another dependency package that the Trinity Project has taken over after it was &lt;br /&gt;
[https://bugzilla.gnome.org/show_bug.cgi?id=155472#c4 dropped] by its original maintainer, because &lt;br /&gt;
it needed several [http://git.trinitydesktop.org/cgit/libart-lgpl/diff/?id=150562b89b645c402f1bb837a09f8b84bf6e49ec patches] &lt;br /&gt;
to prevent crashes.  The version of libart provided by the Trinity Project includes those patches and is &lt;br /&gt;
intended to be a replacement for any version of libart currently installed by any distro. Build this patched version &lt;br /&gt;
of libart and replace the stock libart installed with the distro.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Coexisting with QT4/KDE4===&lt;br /&gt;
&lt;br /&gt;
Trinity is intended to be able to run on computers that also have KDE4 installed.  Originally, a lot of&lt;br /&gt;
Trinity applications had the same names as their KDE4 counterparts, which was problematic.  All of &lt;br /&gt;
those have been renamed.  In general, this was accomplished by changing the old KDE &amp;quot;K&amp;quot; prefix to a &lt;br /&gt;
&amp;quot;T&amp;quot; (&amp;quot;kwin&amp;quot; -&amp;gt; &amp;quot;twin&amp;quot;).  Applications that don&amp;#039;t match anything currently part of KDE4 have retained their &lt;br /&gt;
old names.&lt;br /&gt;
&lt;br /&gt;
To avoid stepping on KDE4&amp;#039;s toes, we &amp;#039;&amp;#039;strongly&amp;#039;&amp;#039; suggest picking a specific subdirectory prefix to install Trinity&lt;br /&gt;
to--the one used in these directions is $PREFIX=/opt/trinity.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Preparing the Source==&lt;br /&gt;
&lt;br /&gt;
To use the release tarballs, just untar them somewhere.&lt;br /&gt;
&lt;br /&gt;
To live dangerously and use the GIT sources, read [[Notes on GIT Sources]] first.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Building==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Suggested Build Order===&lt;br /&gt;
&lt;br /&gt;
A lot of the Trinity core packages depend on one another (in particular, everything depends on tdelibs).&lt;br /&gt;
Follow this build order to prevent problems.&lt;br /&gt;
&lt;br /&gt;
Start with the required core packages:&lt;br /&gt;
&lt;br /&gt;
#tqt3 (replaces Qt3; Qt3 without the tqtinterface layer remains available)&lt;br /&gt;
#cmake-trinity&lt;br /&gt;
#tqtinterface&lt;br /&gt;
#arts&lt;br /&gt;
#dbus-tqt&lt;br /&gt;
#dbus-1-tqt&lt;br /&gt;
#tqca-tls (Recommended but required for some applications, such as the Kopete OTR add-on)&lt;br /&gt;
#libart-lgpl&lt;br /&gt;
#avahi-tqt (Recommended but required when supporting DNS discovery services)&lt;br /&gt;
#tdelibs&lt;br /&gt;
#tdebase&lt;br /&gt;
&lt;br /&gt;
At this point, you should have a functioning TDE desktop with basic utilities (terminal, file manager,&lt;br /&gt;
text/source editors, etc.)  If you&amp;#039;re going to build tdebindings and want Python support available,&lt;br /&gt;
continue with the Python linking packages (or skip over them if you don&amp;#039;t care about Python support):&lt;br /&gt;
&lt;br /&gt;
#sip4-tqt&lt;br /&gt;
#python-tqt&lt;br /&gt;
#pytdeextensions&lt;br /&gt;
#python-trinity&lt;br /&gt;
#tqscintilla &lt;br /&gt;
&lt;br /&gt;
The following build order seems to work well for the remaining core packages when building the stable release.&lt;br /&gt;
You don&amp;#039;t have to install everything, though, unless you&amp;#039;re packaging TDE for your distribution--pick the packages &lt;br /&gt;
that suit your use case.&lt;br /&gt;
&lt;br /&gt;
#tdebindings&lt;br /&gt;
#tdeaccessibility&lt;br /&gt;
#tdeutils&lt;br /&gt;
#tdemultimedia&lt;br /&gt;
#tdenetwork&lt;br /&gt;
#tdeadmin&lt;br /&gt;
#tdeartwork&lt;br /&gt;
#tdegames&lt;br /&gt;
#tdetoys&lt;br /&gt;
#tdeedu&lt;br /&gt;
#tdegraphics&lt;br /&gt;
#tdepim&lt;br /&gt;
#tdesdk (Build tdesdk after installing tdepim. tdepim provides libkcal (bugzilla) hooks for tdesdk.)&lt;br /&gt;
#tdevelop (Build tdevelop after tdesdk. tdesdk provides cvs support for tdevelop.)&lt;br /&gt;
#tdeaddons &lt;br /&gt;
&lt;br /&gt;
Once that&amp;#039;s done, you may want to add [[How to Build Extra Applications|some extra applications]] on top.&lt;br /&gt;
&lt;br /&gt;
===Building Packages with cmake===&lt;br /&gt;
&lt;br /&gt;
Starting from TDE version R14.0.11, the package cmake-trinity is mandatory prior to building, this package includes the required macros for the build.&lt;br /&gt;
&lt;br /&gt;
====List of Packages Building with cmake====&lt;br /&gt;
&lt;br /&gt;
cmake is the newer, easier, and more maintainable build system the Trinity Project is in the process of porting TDE source to.&lt;br /&gt;
&lt;br /&gt;
The list of modules maintained as an [https://mirror.git.trinitydesktop.org/gitea/TDE/tde/issues/9 issue #9 in the TGW] indicates which core and dependency packages have already been converted, and their autotools build scripts are no longer maintained. Some other packages are in the process of conversion, but do not have complete cmake build scripts yet. Build everything not in the list above with autotools.&lt;br /&gt;
&lt;br /&gt;
Read the notes section below for individual package requirements before trying to build anything.&lt;br /&gt;
&lt;br /&gt;
====Performing a cmake Build with Ninja====&lt;br /&gt;
&lt;br /&gt;
The command listing below is only an example.  You will wish to edit the exports if your distribution&lt;br /&gt;
puts things in unusual locations or if you wish to install to somewhere other than /opt/trinity (tqtinterface&lt;br /&gt;
has special requirements--see the Notes).  Not all exports will be needed on all systems.&lt;br /&gt;
&lt;br /&gt;
 export PREFIX=/opt/trinity&lt;br /&gt;
 export SYSCONFDIR=/etc/trinity&lt;br /&gt;
 export LIBDIR=$PREFIX/lib&lt;br /&gt;
 export MANDIR=$PREFIX/man&lt;br /&gt;
 export TQTDIR=$PREFIX/tqt3&lt;br /&gt;
 export PATH=$TQTDIR/bin:$PREFIX/bin:$PATH&lt;br /&gt;
 export LD_LIBRARY_PATH=$LIBDIR:$LIBDIR/trinity:$LD_LIBRARY_PATH&lt;br /&gt;
 export PKG_CONFIG_PATH=:$LIBDIR/pkgconfig:$TQTDIR/lib/pkgconfig:$PKG_CONFIG_PATH&lt;br /&gt;
 &lt;br /&gt;
 from the Trinity module:&lt;br /&gt;
 mkdir -p build &amp;amp;&amp;amp; cd build&lt;br /&gt;
 cmake -G &amp;quot;Ninja&amp;quot; \&lt;br /&gt;
    -DCMAKE_EXPORT_COMPILE_COMMANDS=&amp;quot;ON&amp;quot; \&lt;br /&gt;
    -DCMAKE_BUILD_TYPE=RelWithDebInfo \&lt;br /&gt;
    -DCMAKE_VERBOSE_MAKEFILE=&amp;quot;ON&amp;quot; \&lt;br /&gt;
    -DCMAKE_SKIP_RPATH=&amp;quot;OFF&amp;quot; \&lt;br /&gt;
    -DCMAKE_INSTALL_PREFIX=${PREFIX} \&lt;br /&gt;
    -DSYSCONF_INSTALL_DIR=${SYSCONFDIR} \&lt;br /&gt;
    -DLIB_SUFFIX=${LIBDIRSUFFIX} \&lt;br /&gt;
    -DMAN_INSTALL_DIR=${MANDIR} \&lt;br /&gt;
    -DBUILD_ALL=&amp;quot;ON&amp;quot; \&lt;br /&gt;
    -DWITH_ALL_OPTIONS=&amp;quot;ON&amp;quot; ../&lt;br /&gt;
  cmake --build .&lt;br /&gt;
&lt;br /&gt;
====Notes====&lt;br /&gt;
&lt;br /&gt;
*Until the cmake migration is fully completed, tqtinterface should be built to install with a $PREFIX of /usr rather than /opt/trinity, even if you are installing everything else to /opt/trinity.&lt;br /&gt;
&lt;br /&gt;
*tqtinterface requires the following additional QT-related build option:&lt;br /&gt;
&lt;br /&gt;
 -DQT_VERSION=3&lt;br /&gt;
&lt;br /&gt;
*arts and tdelibs execute compiled binaries as part of the build process. Therefore they need to have -DCMAKE_SKIP_RPATH=&amp;quot;OFF&amp;quot; set. All other modules do not need the RPATH set.&lt;br /&gt;
&lt;br /&gt;
*When building on 64-bit, the following (T)Qt3 configuration option might need to be explicitly declared in some distro build scripts:&lt;br /&gt;
&lt;br /&gt;
 -platform linux-g++-64 (rather than linux-g++ (notice the dash!))&lt;br /&gt;
&lt;br /&gt;
*If class constructor issues surface during the build, please post the error to the trinity-users list.&lt;br /&gt;
&lt;br /&gt;
===Building Packages with Autoconf===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Introduction====&lt;br /&gt;
&lt;br /&gt;
If the package you&amp;#039;re trying to build is on the list of those that will build with cmake, try that first, because &lt;br /&gt;
its autotools files will be unmaintained, bit-rotted, and possibly outright broken.&lt;br /&gt;
&lt;br /&gt;
Please read the notes section below for individual package requirements before trying to build anything.&lt;br /&gt;
&lt;br /&gt;
For those packages that still need to be built with autotools, the following steps must be run for each affected &lt;br /&gt;
Trinity module, including tarball snapshots.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Regenerate Autoconf/Automake files====&lt;br /&gt;
&lt;br /&gt;
cd to the desired module to build, then run:&lt;br /&gt;
&lt;br /&gt;
 cp -Rp &amp;lt;path to your system&amp;#039;s libtool.m4 file&amp;gt; admin/libtool.m4.in&lt;br /&gt;
 cp -Rp &amp;lt;path to your system&amp;#039;s ltmain.sh file&amp;gt; admin/ltmain.sh&lt;br /&gt;
 make -f admin/Makefile.common&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Configure and Build====&lt;br /&gt;
&lt;br /&gt;
 export PREFIX=/opt/trinity&lt;br /&gt;
 export SYSCONFDIR=/etc/trinity&lt;br /&gt;
 export LIBDIR=/opt/trinity/lib&lt;br /&gt;
 export MANDIR=/opt/trinity/man&lt;br /&gt;
 export QTDIR=/opt/trinity/lib/qt3-3.3.8.d&lt;br /&gt;
 export PATH=/opt/trinity/qt3-3.3.8.d/bin:/opt/trinity/bin:$PATH&lt;br /&gt;
 export LD_LIBRARY_PATH=/opt/trinity/lib:/opt/trinity/lib/trinity:$LD_LIBRARY_PATH&lt;br /&gt;
 export PKG_CONFIG_PATH=:/opt/trinity/lib/pkgconfig:/opt/trinity/qt3-3.3.8.d/lib/pkgconfig:$PKG_CONFIG_PATH&lt;br /&gt;
 # Enable only one of the following:&lt;br /&gt;
 # export DEBUG_AUTOTOOL_OPT=&amp;quot;--enable-debug=full&amp;quot;&lt;br /&gt;
 export DEBUG_AUTOTOOL_OPT=&amp;quot;--disable-debug&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
  CFLAGS=$CPUOPT \&lt;br /&gt;
  CXXFLAGS=$CPUOPT \&lt;br /&gt;
  ./configure \&lt;br /&gt;
    --prefix=${PREFIX} \&lt;br /&gt;
    --sysconfdir=${SYSCONFDIR} \&lt;br /&gt;
    --libdir=${LIBDIR} \&lt;br /&gt;
    --mandir=${MANDIR} \&lt;br /&gt;
    --with-qt-dir=${QTDIR} \&lt;br /&gt;
    --with-qt-includes=${QTDIR}/include \&lt;br /&gt;
    --with-qt-libraries=${QTDIR}/lib \&lt;br /&gt;
    $DEBUG_AUTOTOOL_OPT&lt;br /&gt;
&lt;br /&gt;
View the Distribution Specific Builds page for additional configure options.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Notes====&lt;br /&gt;
&lt;br /&gt;
*Certain modules will not build across multiple cores in parallel. That is, with a &amp;quot;make -j&amp;quot; flag set to anything greater than 1. These packages are:&lt;br /&gt;
**tdebindings (some people have no problems with this package and parallel processing)&lt;br /&gt;
**tdemultimedia (some people have no problems with this package and parallel processing) &lt;br /&gt;
&lt;br /&gt;
*Not well documented anywhere, but when building with automake several packages need the --enable-closure configure option:&lt;br /&gt;
**tdeaccessibility&lt;br /&gt;
**tdeaddons&lt;br /&gt;
**tdeadmin&lt;br /&gt;
**tdebindings&lt;br /&gt;
**tdeedu&lt;br /&gt;
**tdegames&lt;br /&gt;
**tdemultimedia&lt;br /&gt;
**tdesdk&lt;br /&gt;
&lt;br /&gt;
*When building on 64-bit, the following (T)Qt3 configuration option might need to be explicitly declared in some distro build scripts:&lt;br /&gt;
&lt;br /&gt;
 -platform linux=g++-64 (rather than linux-g++ (notice the dash!))&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Build Times===&lt;br /&gt;
&lt;br /&gt;
Building Trinity requires time and patience. Build times vary. Here are some guidelines from building &lt;br /&gt;
Trinity 3.5.12 on a dual core 2.3 GHz AM2 with 4GB of RAM, using tmpfs, 7200 rpm SATA II hard drives; &lt;br /&gt;
with Amarok, Firefox, Konsole, Konqueror, Kate, and other various apps often running concurrently. Compile &lt;br /&gt;
times will be faster without such overhead, but likely will be longer when building with support package hooks.&lt;br /&gt;
Packages using cmake will build faster than those still stuck on autotools.&lt;br /&gt;
&lt;br /&gt;
*tqtinterface: 2 minutes&lt;br /&gt;
*arts: 4 minutes&lt;br /&gt;
*tdelibs: 44 minutes&lt;br /&gt;
*tdebase: 33 minutes&lt;br /&gt;
*tdebindings: 36 minutes&lt;br /&gt;
*tdeaccessibility: 5 minutes&lt;br /&gt;
*tdeutils: 8 minutes&lt;br /&gt;
*tdemultimedia: 24 minutes&lt;br /&gt;
*tdenetwork: 23 minutes&lt;br /&gt;
*tdeadmin: 4 minutes&lt;br /&gt;
*tdeartwork: 3 minutes&lt;br /&gt;
*tdegames: 8 minutes&lt;br /&gt;
*tdetoys: 2 minutes&lt;br /&gt;
*tdeedu: 15 minutes&lt;br /&gt;
*tdegraphics: 17 minutes&lt;br /&gt;
*tdesdk: 14 minutes&lt;br /&gt;
*tdevelop: 27 minutes&lt;br /&gt;
*tdeaddons: 7 minutes&lt;br /&gt;
*tdewebdev: 12 minutes&lt;br /&gt;
*tdepim: 63 minutes &lt;br /&gt;
&lt;br /&gt;
Approximate total time: 5 hours 51 minutes&lt;br /&gt;
&lt;br /&gt;
Time to a functional system (basic desktop): 1 hour 23 minutes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Installing==&lt;br /&gt;
&lt;br /&gt;
The command is the same regardless of whether your package was built with cmake or autotools:&lt;br /&gt;
&lt;br /&gt;
 make install || exit 1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Additional Functionality==&lt;br /&gt;
&lt;br /&gt;
Certain Trinity packages gain additional functionality when compiled with additional dependencies available.&lt;br /&gt;
Also, we maintain some libraries which provide purely optional functionality.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Optional Trinity Libraries===&lt;br /&gt;
&lt;br /&gt;
None of these Trinity libraries are required but all provide additional functionality for a variety of packages. &lt;br /&gt;
These libraries must be built and installed before any packages using these libraries can take advantage of the &lt;br /&gt;
additional functionality.&lt;br /&gt;
&lt;br /&gt;
*libkipi: required by kipi-plugins&lt;br /&gt;
*kipi-plugins: several high-end image viewers such as gwenview and digikam&lt;br /&gt;
*libkdcraw: several image viewers and graphics apps, such as chalk and digikam&lt;br /&gt;
*libkexiv2: several image viewers&lt;br /&gt;
*libksquirrel: required by ksquirrel (TDE swiss-army-knife for graphic file formats, also supports medical image formats if xmedcon is provided)&lt;br /&gt;
*libtqt-perl: adept add-on&lt;br /&gt;
*mlt: not required or supported at this time&lt;br /&gt;
*mlt++: not required or supported at this time&lt;br /&gt;
*pytdeextensions: replacement for PyQt3 and PyKDE3, and used by apps such as tdebindings and tde-guidance&lt;br /&gt;
*python-trinity: replacement for PyQt3 and PyKDE3, and used by apps such as tdebindings and tde-guidance &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===List of Optional Dependencies by Trinity Package===&lt;br /&gt;
&lt;br /&gt;
====tdelibs====&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;avahi&amp;#039;&amp;#039;&amp;#039; DNS discovery&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;avahi-tqt&amp;#039;&amp;#039;&amp;#039; Trinity TQt layer for avahi, available in Trinity libraries&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;hspell&amp;#039;&amp;#039;&amp;#039; Hebrew spell checking&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;krb5&amp;#039;&amp;#039;&amp;#039; Kerberos authentication&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;openexr&amp;#039;&amp;#039;&amp;#039; EXR image format &lt;br /&gt;
&lt;br /&gt;
====tdebase====&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;avahi&amp;#039;&amp;#039;&amp;#039; DNS discovery&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;avahi-tqt&amp;#039;&amp;#039;&amp;#039; Trinity TQt layer for avahi, available in Trinity libraries&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;krb5&amp;#039;&amp;#039;&amp;#039; Kerberos authentication&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;openexr&amp;#039;&amp;#039;&amp;#039; EXR image format&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;GraphicsMagick&amp;#039;&amp;#039;&amp;#039; image filters &lt;br /&gt;
&lt;br /&gt;
====tdebindings====&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;Ruby&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;JRE&amp;#039;&amp;#039;&amp;#039; Java Runtime Environment&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;JDK&amp;#039;&amp;#039;&amp;#039; Java Development Kit&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;Python&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;python-trinity&amp;#039;&amp;#039;&amp;#039;, available in Trinity libraries&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;pytdeextensions&amp;#039;&amp;#039;&amp;#039;, available in Trinity libraries &lt;br /&gt;
&lt;br /&gt;
====tdeutils====&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;xmms&amp;#039;&amp;#039;&amp;#039; multimedia player (superkaramba) &lt;br /&gt;
&lt;br /&gt;
====tdemultimedia====&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;cdparanoia&amp;#039;&amp;#039;&amp;#039; digital audio extraction tool (kaudiocreator)&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;speex&amp;#039;&amp;#039;&amp;#039; an audio compression format designed for speech &lt;br /&gt;
&lt;br /&gt;
====tdenetwork====&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;xmms&amp;#039;&amp;#039;&amp;#039; multimedia player (kopete plugins)&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;ortp&amp;#039;&amp;#039;&amp;#039; real-time transport protocol stack under GPL (kopete plugins)&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;speex&amp;#039;&amp;#039;&amp;#039; audio compression format designed for speech (kopete plugins) &lt;br /&gt;
&lt;br /&gt;
====tdeedu====&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;facile&amp;#039;&amp;#039;&amp;#039; functional constraint library (kalzium)&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;ocaml&amp;#039;&amp;#039;&amp;#039; A programming language (kalzium)&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;boost&amp;#039;&amp;#039;&amp;#039; boost C++ Libraries &lt;br /&gt;
&lt;br /&gt;
====tdevelop====&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;graphviz&amp;#039;&amp;#039;&amp;#039; graph visualization &lt;br /&gt;
&lt;br /&gt;
====tdeaddons====&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;xmms&amp;#039;&amp;#039;&amp;#039; multimedia player (kicker applets) &lt;br /&gt;
&lt;br /&gt;
====tdewebdev====&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;XSLT&amp;#039;&amp;#039;&amp;#039; Extensible Stylesheet Language Transformations&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;DocBook&amp;#039;&amp;#039;&amp;#039; text markup&lt;br /&gt;
&lt;br /&gt;
====tdepim====&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;krb5&amp;#039;&amp;#039;&amp;#039; Kerberos authentication&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;ortp&amp;#039;&amp;#039;&amp;#039; real-time transport protocol stack under GPL (kopete)&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;gnokii&amp;#039;&amp;#039;&amp;#039; Nokia mobile phone support&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;opensync&amp;#039;&amp;#039;&amp;#039; data synchronization support&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;libcaldav&amp;#039;&amp;#039;&amp;#039; online calendar support, available through Trinity web site (http://www.trinitydesktop.org/relatedprojects.php)&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;libcarddav&amp;#039;&amp;#039;&amp;#039; online address book support, available through Trinity web site (http://www.trinitydesktop.org/relatedprojects.php) &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Quirks and Known Bugs==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Building Sip===&lt;br /&gt;
&lt;br /&gt;
Sip is available on many/most distros. Sip requires Qt3 to build, but won&amp;#039;t build on TQt3, which adds &lt;br /&gt;
the tqinterface layer to Qt3. More than likely down the road, Sip will be dumped or moved to Qt4 by distro &lt;br /&gt;
maintainers. All of the python-*-tqt-* packages need Sip to build. Build this TQt3 compatible version of Sip &lt;br /&gt;
and replace the stock Sip installed with the distro.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===OpenGL and nVidia===&lt;br /&gt;
&lt;br /&gt;
Building many Trinity and related packages depend upon OpenGL, such as &lt;br /&gt;
tdegraphics, k3b, koffice, tdenetwork, gwenview, digikam, etc.; &lt;br /&gt;
&lt;br /&gt;
as well as dependency packages such as &lt;br /&gt;
libkipi, libkdcraw, libkexiv2, avahi, etc. &lt;br /&gt;
&lt;br /&gt;
If any of those packages are built when the proprietary nvidia drivers are installed, the dependent package will fail to build &lt;br /&gt;
with an error about /usr/lib/libGL.la. &lt;br /&gt;
&lt;br /&gt;
That file is installed by the proprietary nvidia package. When building for personal use only, then building those packages with nvidia installed will pose no harm. &lt;br /&gt;
&lt;br /&gt;
When building packages for other users then build the entire suite of packages in a &amp;quot;clean&amp;quot; generic OpenGL environment. &lt;br /&gt;
&lt;br /&gt;
Other users might not use the proprietary nvidia package. This is true of any package that has OpenGL dependencies.&lt;br /&gt;
&lt;br /&gt;
===Tdeartwork and xhack Screensavers===&lt;br /&gt;
&lt;br /&gt;
Before building tdeartwork, install any and all xhack screensavers that might be uses, then&lt;br /&gt;
&lt;br /&gt;
cd &amp;lt;tdeartwork&amp;gt;/kscreensaver/kxsconfig/&lt;br /&gt;
./update_hacks.sh&lt;br /&gt;
&lt;br /&gt;
This will generate the TDE bindings required to allow installed screensavers show up in the Trinity &lt;br /&gt;
screensaver control panel, along with their configuration options. When adding a new screensaver the &lt;br /&gt;
update_hacks command needs to be rerun and tdeartwork recompiled/reinstalled. Distribution maintainers should &lt;br /&gt;
install all available screensavers from their distribution and then run update_hacks during the initial build &lt;br /&gt;
setup when building redistributable binary packages (see the Debian tdeartwork build scripts in GIT for an &lt;br /&gt;
example of how to do this).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Poppler Support in Tdegraphics===&lt;br /&gt;
&lt;br /&gt;
Building tdegraphics with poppler support requires building a Trinity poppler-tqt support package. With &lt;br /&gt;
many distros poppler no longer is built with Qt3 support. The Trinity poppler-tqt provides the necessary hooks for &lt;br /&gt;
tdegraphics without rebuilding poppler. The poppler-tqt dependency sources are located in the tdegraphics/kfile-plugins &lt;br /&gt;
dependencies directory and are built automatically with the tdegraphics build option -DWITH_PDF=ON.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Tdesvn/Tdesdk svn-kio Conflict===&lt;br /&gt;
&lt;br /&gt;
tdesvn and tdesdk provide conflicting files for svn-kio services. Neither package is a dependency of the other. &lt;br /&gt;
When tdesdk or tdesvn will be installed without the other, then no change is required. When both tdesdk and tdesvn &lt;br /&gt;
are to be installed, then to avoid filesystem conflicts the following files must be removed from one of the packages &lt;br /&gt;
before installing:&lt;br /&gt;
&lt;br /&gt;
  /opt/trinity/share/services/svn+file.protocol&lt;br /&gt;
  /opt/trinity/share/services/svn+http.protocol&lt;br /&gt;
  /opt/trinity/share/services/svn+https.protocol&lt;br /&gt;
  /opt/trinity/share/services/svn+ssh.protocol&lt;br /&gt;
  /opt/trinity/share/services/svn.protocol&lt;br /&gt;
&lt;br /&gt;
Since tdesvn uses the ksvn kio exclusively, while tdesdk uses the svn kio, consider removing the conflicting files &lt;br /&gt;
from tdesdk to eliminate the same services relying on multiple kio service files.&lt;/div&gt;</summary>
		<author><name>Cethyel</name></author>
	</entry>
	<entry>
		<id>https://wiki.trinitydesktop.net/index.php?title=How_to_Build_TDE_Core_Modules&amp;diff=1611</id>
		<title>How to Build TDE Core Modules</title>
		<link rel="alternate" type="text/html" href="https://wiki.trinitydesktop.net/index.php?title=How_to_Build_TDE_Core_Modules&amp;diff=1611"/>
		<updated>2021-06-09T21:50:02Z</updated>

		<summary type="html">&lt;p&gt;Cethyel: /* Performing a cmake Build */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Documentation]]&lt;br /&gt;
[[Category:Installation]]&lt;br /&gt;
[[Category:Developers]]&lt;br /&gt;
This HowTo provides detailed notes and explanations for building the Trinity Desktop Environment base&lt;br /&gt;
packages.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Introduction and Requirements==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Basic Building Requirements===&lt;br /&gt;
&lt;br /&gt;
Individual Linux distributions might have different build requirements. If these are known they will be available &lt;br /&gt;
on the Distribution Specific Builds page.&lt;br /&gt;
&lt;br /&gt;
There is an ongoing effort to convert the build process from autotools to cmake. Until the cmake conversion is &lt;br /&gt;
complete, both cmake and autotools are needed to build Trinity packages. cmake 2.8.12 or more recent is expected &lt;br /&gt;
when building with cmake.&lt;br /&gt;
&lt;br /&gt;
To build the packages still using autotools, you will need a standard autotools setup (automake, autoconf, etc.)&lt;br /&gt;
&lt;br /&gt;
You&amp;#039;ll also need a C++ compiler. g++ from the GNU Compiler Collection is the most usual, the current GIT version of Trinity has been tested &lt;br /&gt;
against versions up to and including 4.6. clang++ is also supported.&lt;br /&gt;
&lt;br /&gt;
===Other Requirements===&lt;br /&gt;
&lt;br /&gt;
(NOTE:  List compiled from old QT3/kdelibs/kde-base ebuilds--will someone please check these?)&lt;br /&gt;
&lt;br /&gt;
Most of the non-build-related mandatory dependencies for the core Trinity packages are pretty basic:&lt;br /&gt;
&lt;br /&gt;
*an X server&lt;br /&gt;
*openssl&lt;br /&gt;
*fontconfig&lt;br /&gt;
*freetype&lt;br /&gt;
*ghostscript&lt;br /&gt;
*xdg support&lt;br /&gt;
*libpng&lt;br /&gt;
*libmng&lt;br /&gt;
&lt;br /&gt;
If your Linux distribution came with any kind of graphical environment at all, you should already have&lt;br /&gt;
this stuff.&lt;br /&gt;
&lt;br /&gt;
To build tdepim, you will also need libical (standard on many distros).&lt;br /&gt;
&lt;br /&gt;
See Additional Functionality for a list of optional dependencies and what they enable.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===About QT3===&lt;br /&gt;
&lt;br /&gt;
Trinity uses the QT3 widget toolkit.  Since Trolltech, the original owners, dropped support for QT3&lt;br /&gt;
several years ago, the Trinity Project has taken over QT3&amp;#039;s maintenance.  In other words, we&amp;#039;re now&lt;br /&gt;
QT3 upstream, and you should be obtaining your QT3 sources from the Trinity package tarballs or GIT repository.&lt;br /&gt;
&lt;br /&gt;
The version of QT3 used with Trinity 3.5.13 and later incorporates numerous patches.  If you&amp;#039;re trying to &lt;br /&gt;
use an old QT3/KDE3 packaging build setup for your distribution with Trinity&amp;#039;s QT3, don&amp;#039;t be too surprised &lt;br /&gt;
if some patches don&amp;#039;t apply.  Unless the patch is distribution-specific, chances are that it&amp;#039;s been added&lt;br /&gt;
to the main source tree.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===About libart===&lt;br /&gt;
&lt;br /&gt;
libart-lgpl is another dependency package that the Trinity Project has taken over after it was &lt;br /&gt;
[https://bugzilla.gnome.org/show_bug.cgi?id=155472#c4 dropped] by its original maintainer, because &lt;br /&gt;
it needed several [http://git.trinitydesktop.org/cgit/libart-lgpl/diff/?id=150562b89b645c402f1bb837a09f8b84bf6e49ec patches] &lt;br /&gt;
to prevent crashes.  The version of libart provided by the Trinity Project includes those patches and is &lt;br /&gt;
intended to be a replacement for any version of libart currently installed by any distro. Build this patched version &lt;br /&gt;
of libart and replace the stock libart installed with the distro.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Coexisting with QT4/KDE4===&lt;br /&gt;
&lt;br /&gt;
Trinity is intended to be able to run on computers that also have KDE4 installed.  Originally, a lot of&lt;br /&gt;
Trinity applications had the same names as their KDE4 counterparts, which was problematic.  All of &lt;br /&gt;
those have been renamed.  In general, this was accomplished by changing the old KDE &amp;quot;K&amp;quot; prefix to a &lt;br /&gt;
&amp;quot;T&amp;quot; (&amp;quot;kwin&amp;quot; -&amp;gt; &amp;quot;twin&amp;quot;).  Applications that don&amp;#039;t match anything currently part of KDE4 have retained their &lt;br /&gt;
old names.&lt;br /&gt;
&lt;br /&gt;
To avoid stepping on KDE4&amp;#039;s toes, we &amp;#039;&amp;#039;strongly&amp;#039;&amp;#039; suggest picking a specific subdirectory prefix to install Trinity&lt;br /&gt;
to--the one used in these directions is $PREFIX=/opt/trinity.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Preparing the Source==&lt;br /&gt;
&lt;br /&gt;
To use the release tarballs, just untar them somewhere.&lt;br /&gt;
&lt;br /&gt;
To live dangerously and use the GIT sources, read [[Notes on GIT Sources]] first.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Building==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Suggested Build Order===&lt;br /&gt;
&lt;br /&gt;
A lot of the Trinity core packages depend on one another (in particular, everything depends on tdelibs).&lt;br /&gt;
Follow this build order to prevent problems.&lt;br /&gt;
&lt;br /&gt;
Start with the required core packages:&lt;br /&gt;
&lt;br /&gt;
#tqt3 (replaces Qt3; Qt3 without the tqtinterface layer remains available)&lt;br /&gt;
#cmake-trinity&lt;br /&gt;
#tqtinterface&lt;br /&gt;
#arts&lt;br /&gt;
#dbus-tqt&lt;br /&gt;
#dbus-1-tqt&lt;br /&gt;
#tqca-tls (Recommended but required for some applications, such as the Kopete OTR add-on)&lt;br /&gt;
#libart-lgpl&lt;br /&gt;
#avahi-tqt (Recommended but required when supporting DNS discovery services)&lt;br /&gt;
#tdelibs&lt;br /&gt;
#tdebase&lt;br /&gt;
&lt;br /&gt;
At this point, you should have a functioning TDE desktop with basic utilities (terminal, file manager,&lt;br /&gt;
text/source editors, etc.)  If you&amp;#039;re going to build tdebindings and want Python support available,&lt;br /&gt;
continue with the Python linking packages (or skip over them if you don&amp;#039;t care about Python support):&lt;br /&gt;
&lt;br /&gt;
#sip4-tqt&lt;br /&gt;
#python-tqt&lt;br /&gt;
#pytdeextensions&lt;br /&gt;
#python-trinity&lt;br /&gt;
#tqscintilla &lt;br /&gt;
&lt;br /&gt;
The following build order seems to work well for the remaining core packages when building the stable release.&lt;br /&gt;
You don&amp;#039;t have to install everything, though, unless you&amp;#039;re packaging TDE for your distribution--pick the packages &lt;br /&gt;
that suit your use case.&lt;br /&gt;
&lt;br /&gt;
#tdebindings&lt;br /&gt;
#tdeaccessibility&lt;br /&gt;
#tdeutils&lt;br /&gt;
#tdemultimedia&lt;br /&gt;
#tdenetwork&lt;br /&gt;
#tdeadmin&lt;br /&gt;
#tdeartwork&lt;br /&gt;
#tdegames&lt;br /&gt;
#tdetoys&lt;br /&gt;
#tdeedu&lt;br /&gt;
#tdegraphics&lt;br /&gt;
#tdepim&lt;br /&gt;
#tdesdk (Build tdesdk after installing tdepim. tdepim provides libkcal (bugzilla) hooks for tdesdk.)&lt;br /&gt;
#tdevelop (Build tdevelop after tdesdk. tdesdk provides cvs support for tdevelop.)&lt;br /&gt;
#tdeaddons &lt;br /&gt;
&lt;br /&gt;
Once that&amp;#039;s done, you may want to add [[How to Build Extra Applications|some extra applications]] on top.&lt;br /&gt;
&lt;br /&gt;
===Building Packages with cmake===&lt;br /&gt;
&lt;br /&gt;
Starting from TDE version R14.0.11, the package cmake-trinity is mandatory prior to building, this package includes the required macros for the build.&lt;br /&gt;
&lt;br /&gt;
====List of Packages Building with cmake====&lt;br /&gt;
&lt;br /&gt;
cmake is the newer, easier, and more maintainable build system the Trinity Project is in the process of porting TDE source to.&lt;br /&gt;
&lt;br /&gt;
The list of modules maintained as an [https://mirror.git.trinitydesktop.org/gitea/TDE/tde/issues/9 issue #9 in the TGW] indicates which core and dependency packages have already been converted, and their autotools build scripts are no longer maintained. Some other packages are in the process of conversion, but do not have complete cmake build scripts yet. Build everything not in the list above with autotools.&lt;br /&gt;
&lt;br /&gt;
Read the notes section below for individual package requirements before trying to build anything.&lt;br /&gt;
&lt;br /&gt;
====Performing a cmake Build====&lt;br /&gt;
&lt;br /&gt;
The command listing below is only an example.  You will wish to edit the exports if your distribution&lt;br /&gt;
puts things in unusual locations or if you wish to install to somewhere other than /opt/trinity (tqtinterface&lt;br /&gt;
has special requirements--see the Notes).  Not all exports will be needed on all systems.&lt;br /&gt;
&lt;br /&gt;
 export PREFIX=/opt/trinity&lt;br /&gt;
 export SYSCONFDIR=/etc/trinity&lt;br /&gt;
 export LIBDIR=/opt/trinity/lib&lt;br /&gt;
 export MANDIR=/opt/trinity/man&lt;br /&gt;
 export TQTDIR=$PREFIX/tqt3&lt;br /&gt;
 export PATH=$TQDIR/bin:$PREFIX/bin:$PATH&lt;br /&gt;
 export LD_LIBRARY_PATH=$PREFIX/lib:$PREFIX/lib/trinity:$LD_LIBRARY_PATH&lt;br /&gt;
 export PKG_CONFIG_PATH=:$PREFIX/lib/pkgconfig:$TQTDIR/lib/pkgconfig:$PKG_CONFIG_PATH&lt;br /&gt;
 &lt;br /&gt;
  cmake path/to/trinity/module \&lt;br /&gt;
    -DCMAKE_EXPORT_COMPILE_COMMANDS=&amp;quot;ON&amp;quot; \&lt;br /&gt;
    -DCMAKE_BUILD_TYPE=RelWithDebInfo \&lt;br /&gt;
    -DCMAKE_VERBOSE_MAKEFILE=&amp;quot;ON&amp;quot; \&lt;br /&gt;
    -DCMAKE_SKIP_RPATH=&amp;quot;OFF&amp;quot; \&lt;br /&gt;
    -DCMAKE_INSTALL_PREFIX=${PREFIX} \&lt;br /&gt;
    -DSYSCONF_INSTALL_DIR=${SYSCONFDIR} \&lt;br /&gt;
    -DLIB_SUFFIX=${LIBDIRSUFFIX} \&lt;br /&gt;
    -DMAN_INSTALL_DIR=${MANDIR} \&lt;br /&gt;
    -DBUILD_ALL=&amp;quot;ON&amp;quot; \&lt;br /&gt;
    -DWITH_ALL_OPTIONS=&amp;quot;ON&amp;quot;&lt;br /&gt;
  make&lt;br /&gt;
&lt;br /&gt;
====Notes====&lt;br /&gt;
&lt;br /&gt;
*Until the cmake migration is fully completed, tqtinterface should be built to install with a $PREFIX of /usr rather than /opt/trinity, even if you are installing everything else to /opt/trinity.&lt;br /&gt;
&lt;br /&gt;
*tqtinterface requires the following additional QT-related build option:&lt;br /&gt;
&lt;br /&gt;
 -DQT_VERSION=3&lt;br /&gt;
&lt;br /&gt;
*arts and tdelibs execute compiled binaries as part of the build process. Therefore they need to have -DCMAKE_SKIP_RPATH=&amp;quot;OFF&amp;quot; set. All other modules do not need the RPATH set.&lt;br /&gt;
&lt;br /&gt;
*When building on 64-bit, the following (T)Qt3 configuration option might need to be explicitly declared in some distro build scripts:&lt;br /&gt;
&lt;br /&gt;
 -platform linux-g++-64 (rather than linux-g++ (notice the dash!))&lt;br /&gt;
&lt;br /&gt;
*If class constructor issues surface during the build, please post the error to the trinity-users list.&lt;br /&gt;
&lt;br /&gt;
===Building Packages with Autoconf===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Introduction====&lt;br /&gt;
&lt;br /&gt;
If the package you&amp;#039;re trying to build is on the list of those that will build with cmake, try that first, because &lt;br /&gt;
its autotools files will be unmaintained, bit-rotted, and possibly outright broken.&lt;br /&gt;
&lt;br /&gt;
Please read the notes section below for individual package requirements before trying to build anything.&lt;br /&gt;
&lt;br /&gt;
For those packages that still need to be built with autotools, the following steps must be run for each affected &lt;br /&gt;
Trinity module, including tarball snapshots.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Regenerate Autoconf/Automake files====&lt;br /&gt;
&lt;br /&gt;
cd to the desired module to build, then run:&lt;br /&gt;
&lt;br /&gt;
 cp -Rp &amp;lt;path to your system&amp;#039;s libtool.m4 file&amp;gt; admin/libtool.m4.in&lt;br /&gt;
 cp -Rp &amp;lt;path to your system&amp;#039;s ltmain.sh file&amp;gt; admin/ltmain.sh&lt;br /&gt;
 make -f admin/Makefile.common&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Configure and Build====&lt;br /&gt;
&lt;br /&gt;
 export PREFIX=/opt/trinity&lt;br /&gt;
 export SYSCONFDIR=/etc/trinity&lt;br /&gt;
 export LIBDIR=/opt/trinity/lib&lt;br /&gt;
 export MANDIR=/opt/trinity/man&lt;br /&gt;
 export QTDIR=/opt/trinity/lib/qt3-3.3.8.d&lt;br /&gt;
 export PATH=/opt/trinity/qt3-3.3.8.d/bin:/opt/trinity/bin:$PATH&lt;br /&gt;
 export LD_LIBRARY_PATH=/opt/trinity/lib:/opt/trinity/lib/trinity:$LD_LIBRARY_PATH&lt;br /&gt;
 export PKG_CONFIG_PATH=:/opt/trinity/lib/pkgconfig:/opt/trinity/qt3-3.3.8.d/lib/pkgconfig:$PKG_CONFIG_PATH&lt;br /&gt;
 # Enable only one of the following:&lt;br /&gt;
 # export DEBUG_AUTOTOOL_OPT=&amp;quot;--enable-debug=full&amp;quot;&lt;br /&gt;
 export DEBUG_AUTOTOOL_OPT=&amp;quot;--disable-debug&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
  CFLAGS=$CPUOPT \&lt;br /&gt;
  CXXFLAGS=$CPUOPT \&lt;br /&gt;
  ./configure \&lt;br /&gt;
    --prefix=${PREFIX} \&lt;br /&gt;
    --sysconfdir=${SYSCONFDIR} \&lt;br /&gt;
    --libdir=${LIBDIR} \&lt;br /&gt;
    --mandir=${MANDIR} \&lt;br /&gt;
    --with-qt-dir=${QTDIR} \&lt;br /&gt;
    --with-qt-includes=${QTDIR}/include \&lt;br /&gt;
    --with-qt-libraries=${QTDIR}/lib \&lt;br /&gt;
    $DEBUG_AUTOTOOL_OPT&lt;br /&gt;
&lt;br /&gt;
View the Distribution Specific Builds page for additional configure options.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Notes====&lt;br /&gt;
&lt;br /&gt;
*Certain modules will not build across multiple cores in parallel. That is, with a &amp;quot;make -j&amp;quot; flag set to anything greater than 1. These packages are:&lt;br /&gt;
**tdebindings (some people have no problems with this package and parallel processing)&lt;br /&gt;
**tdemultimedia (some people have no problems with this package and parallel processing) &lt;br /&gt;
&lt;br /&gt;
*Not well documented anywhere, but when building with automake several packages need the --enable-closure configure option:&lt;br /&gt;
**tdeaccessibility&lt;br /&gt;
**tdeaddons&lt;br /&gt;
**tdeadmin&lt;br /&gt;
**tdebindings&lt;br /&gt;
**tdeedu&lt;br /&gt;
**tdegames&lt;br /&gt;
**tdemultimedia&lt;br /&gt;
**tdesdk&lt;br /&gt;
&lt;br /&gt;
*When building on 64-bit, the following (T)Qt3 configuration option might need to be explicitly declared in some distro build scripts:&lt;br /&gt;
&lt;br /&gt;
 -platform linux=g++-64 (rather than linux-g++ (notice the dash!))&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Build Times===&lt;br /&gt;
&lt;br /&gt;
Building Trinity requires time and patience. Build times vary. Here are some guidelines from building &lt;br /&gt;
Trinity 3.5.12 on a dual core 2.3 GHz AM2 with 4GB of RAM, using tmpfs, 7200 rpm SATA II hard drives; &lt;br /&gt;
with Amarok, Firefox, Konsole, Konqueror, Kate, and other various apps often running concurrently. Compile &lt;br /&gt;
times will be faster without such overhead, but likely will be longer when building with support package hooks.&lt;br /&gt;
Packages using cmake will build faster than those still stuck on autotools.&lt;br /&gt;
&lt;br /&gt;
*tqtinterface: 2 minutes&lt;br /&gt;
*arts: 4 minutes&lt;br /&gt;
*tdelibs: 44 minutes&lt;br /&gt;
*tdebase: 33 minutes&lt;br /&gt;
*tdebindings: 36 minutes&lt;br /&gt;
*tdeaccessibility: 5 minutes&lt;br /&gt;
*tdeutils: 8 minutes&lt;br /&gt;
*tdemultimedia: 24 minutes&lt;br /&gt;
*tdenetwork: 23 minutes&lt;br /&gt;
*tdeadmin: 4 minutes&lt;br /&gt;
*tdeartwork: 3 minutes&lt;br /&gt;
*tdegames: 8 minutes&lt;br /&gt;
*tdetoys: 2 minutes&lt;br /&gt;
*tdeedu: 15 minutes&lt;br /&gt;
*tdegraphics: 17 minutes&lt;br /&gt;
*tdesdk: 14 minutes&lt;br /&gt;
*tdevelop: 27 minutes&lt;br /&gt;
*tdeaddons: 7 minutes&lt;br /&gt;
*tdewebdev: 12 minutes&lt;br /&gt;
*tdepim: 63 minutes &lt;br /&gt;
&lt;br /&gt;
Approximate total time: 5 hours 51 minutes&lt;br /&gt;
&lt;br /&gt;
Time to a functional system (basic desktop): 1 hour 23 minutes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Installing==&lt;br /&gt;
&lt;br /&gt;
The command is the same regardless of whether your package was built with cmake or autotools:&lt;br /&gt;
&lt;br /&gt;
 make install || exit 1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Additional Functionality==&lt;br /&gt;
&lt;br /&gt;
Certain Trinity packages gain additional functionality when compiled with additional dependencies available.&lt;br /&gt;
Also, we maintain some libraries which provide purely optional functionality.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Optional Trinity Libraries===&lt;br /&gt;
&lt;br /&gt;
None of these Trinity libraries are required but all provide additional functionality for a variety of packages. &lt;br /&gt;
These libraries must be built and installed before any packages using these libraries can take advantage of the &lt;br /&gt;
additional functionality.&lt;br /&gt;
&lt;br /&gt;
*libkipi: required by kipi-plugins&lt;br /&gt;
*kipi-plugins: several high-end image viewers such as gwenview and digikam&lt;br /&gt;
*libkdcraw: several image viewers and graphics apps, such as chalk and digikam&lt;br /&gt;
*libkexiv2: several image viewers&lt;br /&gt;
*libksquirrel: required by ksquirrel (TDE swiss-army-knife for graphic file formats, also supports medical image formats if xmedcon is provided)&lt;br /&gt;
*libtqt-perl: adept add-on&lt;br /&gt;
*mlt: not required or supported at this time&lt;br /&gt;
*mlt++: not required or supported at this time&lt;br /&gt;
*pytdeextensions: replacement for PyQt3 and PyKDE3, and used by apps such as tdebindings and tde-guidance&lt;br /&gt;
*python-trinity: replacement for PyQt3 and PyKDE3, and used by apps such as tdebindings and tde-guidance &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===List of Optional Dependencies by Trinity Package===&lt;br /&gt;
&lt;br /&gt;
====tdelibs====&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;avahi&amp;#039;&amp;#039;&amp;#039; DNS discovery&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;avahi-tqt&amp;#039;&amp;#039;&amp;#039; Trinity TQt layer for avahi, available in Trinity libraries&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;hspell&amp;#039;&amp;#039;&amp;#039; Hebrew spell checking&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;krb5&amp;#039;&amp;#039;&amp;#039; Kerberos authentication&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;openexr&amp;#039;&amp;#039;&amp;#039; EXR image format &lt;br /&gt;
&lt;br /&gt;
====tdebase====&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;avahi&amp;#039;&amp;#039;&amp;#039; DNS discovery&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;avahi-tqt&amp;#039;&amp;#039;&amp;#039; Trinity TQt layer for avahi, available in Trinity libraries&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;krb5&amp;#039;&amp;#039;&amp;#039; Kerberos authentication&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;openexr&amp;#039;&amp;#039;&amp;#039; EXR image format&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;GraphicsMagick&amp;#039;&amp;#039;&amp;#039; image filters &lt;br /&gt;
&lt;br /&gt;
====tdebindings====&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;Ruby&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;JRE&amp;#039;&amp;#039;&amp;#039; Java Runtime Environment&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;JDK&amp;#039;&amp;#039;&amp;#039; Java Development Kit&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;Python&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;python-trinity&amp;#039;&amp;#039;&amp;#039;, available in Trinity libraries&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;pytdeextensions&amp;#039;&amp;#039;&amp;#039;, available in Trinity libraries &lt;br /&gt;
&lt;br /&gt;
====tdeutils====&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;xmms&amp;#039;&amp;#039;&amp;#039; multimedia player (superkaramba) &lt;br /&gt;
&lt;br /&gt;
====tdemultimedia====&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;cdparanoia&amp;#039;&amp;#039;&amp;#039; digital audio extraction tool (kaudiocreator)&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;speex&amp;#039;&amp;#039;&amp;#039; an audio compression format designed for speech &lt;br /&gt;
&lt;br /&gt;
====tdenetwork====&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;xmms&amp;#039;&amp;#039;&amp;#039; multimedia player (kopete plugins)&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;ortp&amp;#039;&amp;#039;&amp;#039; real-time transport protocol stack under GPL (kopete plugins)&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;speex&amp;#039;&amp;#039;&amp;#039; audio compression format designed for speech (kopete plugins) &lt;br /&gt;
&lt;br /&gt;
====tdeedu====&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;facile&amp;#039;&amp;#039;&amp;#039; functional constraint library (kalzium)&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;ocaml&amp;#039;&amp;#039;&amp;#039; A programming language (kalzium)&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;boost&amp;#039;&amp;#039;&amp;#039; boost C++ Libraries &lt;br /&gt;
&lt;br /&gt;
====tdevelop====&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;graphviz&amp;#039;&amp;#039;&amp;#039; graph visualization &lt;br /&gt;
&lt;br /&gt;
====tdeaddons====&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;xmms&amp;#039;&amp;#039;&amp;#039; multimedia player (kicker applets) &lt;br /&gt;
&lt;br /&gt;
====tdewebdev====&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;XSLT&amp;#039;&amp;#039;&amp;#039; Extensible Stylesheet Language Transformations&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;DocBook&amp;#039;&amp;#039;&amp;#039; text markup&lt;br /&gt;
&lt;br /&gt;
====tdepim====&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;krb5&amp;#039;&amp;#039;&amp;#039; Kerberos authentication&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;ortp&amp;#039;&amp;#039;&amp;#039; real-time transport protocol stack under GPL (kopete)&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;gnokii&amp;#039;&amp;#039;&amp;#039; Nokia mobile phone support&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;opensync&amp;#039;&amp;#039;&amp;#039; data synchronization support&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;libcaldav&amp;#039;&amp;#039;&amp;#039; online calendar support, available through Trinity web site (http://www.trinitydesktop.org/relatedprojects.php)&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;libcarddav&amp;#039;&amp;#039;&amp;#039; online address book support, available through Trinity web site (http://www.trinitydesktop.org/relatedprojects.php) &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Quirks and Known Bugs==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Building Sip===&lt;br /&gt;
&lt;br /&gt;
Sip is available on many/most distros. Sip requires Qt3 to build, but won&amp;#039;t build on TQt3, which adds &lt;br /&gt;
the tqinterface layer to Qt3. More than likely down the road, Sip will be dumped or moved to Qt4 by distro &lt;br /&gt;
maintainers. All of the python-*-tqt-* packages need Sip to build. Build this TQt3 compatible version of Sip &lt;br /&gt;
and replace the stock Sip installed with the distro.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===OpenGL and nVidia===&lt;br /&gt;
&lt;br /&gt;
Building many Trinity and related packages depend upon OpenGL, such as &lt;br /&gt;
tdegraphics, k3b, koffice, tdenetwork, gwenview, digikam, etc.; &lt;br /&gt;
&lt;br /&gt;
as well as dependency packages such as &lt;br /&gt;
libkipi, libkdcraw, libkexiv2, avahi, etc. &lt;br /&gt;
&lt;br /&gt;
If any of those packages are built when the proprietary nvidia drivers are installed, the dependent package will fail to build &lt;br /&gt;
with an error about /usr/lib/libGL.la. &lt;br /&gt;
&lt;br /&gt;
That file is installed by the proprietary nvidia package. When building for personal use only, then building those packages with nvidia installed will pose no harm. &lt;br /&gt;
&lt;br /&gt;
When building packages for other users then build the entire suite of packages in a &amp;quot;clean&amp;quot; generic OpenGL environment. &lt;br /&gt;
&lt;br /&gt;
Other users might not use the proprietary nvidia package. This is true of any package that has OpenGL dependencies.&lt;br /&gt;
&lt;br /&gt;
===Tdeartwork and xhack Screensavers===&lt;br /&gt;
&lt;br /&gt;
Before building tdeartwork, install any and all xhack screensavers that might be uses, then&lt;br /&gt;
&lt;br /&gt;
cd &amp;lt;tdeartwork&amp;gt;/kscreensaver/kxsconfig/&lt;br /&gt;
./update_hacks.sh&lt;br /&gt;
&lt;br /&gt;
This will generate the TDE bindings required to allow installed screensavers show up in the Trinity &lt;br /&gt;
screensaver control panel, along with their configuration options. When adding a new screensaver the &lt;br /&gt;
update_hacks command needs to be rerun and tdeartwork recompiled/reinstalled. Distribution maintainers should &lt;br /&gt;
install all available screensavers from their distribution and then run update_hacks during the initial build &lt;br /&gt;
setup when building redistributable binary packages (see the Debian tdeartwork build scripts in GIT for an &lt;br /&gt;
example of how to do this).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Poppler Support in Tdegraphics===&lt;br /&gt;
&lt;br /&gt;
Building tdegraphics with poppler support requires building a Trinity poppler-tqt support package. With &lt;br /&gt;
many distros poppler no longer is built with Qt3 support. The Trinity poppler-tqt provides the necessary hooks for &lt;br /&gt;
tdegraphics without rebuilding poppler. The poppler-tqt dependency sources are located in the tdegraphics/kfile-plugins &lt;br /&gt;
dependencies directory and are built automatically with the tdegraphics build option -DWITH_PDF=ON.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Tdesvn/Tdesdk svn-kio Conflict===&lt;br /&gt;
&lt;br /&gt;
tdesvn and tdesdk provide conflicting files for svn-kio services. Neither package is a dependency of the other. &lt;br /&gt;
When tdesdk or tdesvn will be installed without the other, then no change is required. When both tdesdk and tdesvn &lt;br /&gt;
are to be installed, then to avoid filesystem conflicts the following files must be removed from one of the packages &lt;br /&gt;
before installing:&lt;br /&gt;
&lt;br /&gt;
  /opt/trinity/share/services/svn+file.protocol&lt;br /&gt;
  /opt/trinity/share/services/svn+http.protocol&lt;br /&gt;
  /opt/trinity/share/services/svn+https.protocol&lt;br /&gt;
  /opt/trinity/share/services/svn+ssh.protocol&lt;br /&gt;
  /opt/trinity/share/services/svn.protocol&lt;br /&gt;
&lt;br /&gt;
Since tdesvn uses the ksvn kio exclusively, while tdesdk uses the svn kio, consider removing the conflicting files &lt;br /&gt;
from tdesdk to eliminate the same services relying on multiple kio service files.&lt;/div&gt;</summary>
		<author><name>Cethyel</name></author>
	</entry>
	<entry>
		<id>https://wiki.trinitydesktop.net/index.php?title=How_to_Build_TDE_Core_Modules&amp;diff=1610</id>
		<title>How to Build TDE Core Modules</title>
		<link rel="alternate" type="text/html" href="https://wiki.trinitydesktop.net/index.php?title=How_to_Build_TDE_Core_Modules&amp;diff=1610"/>
		<updated>2021-06-09T21:35:44Z</updated>

		<summary type="html">&lt;p&gt;Cethyel: /* Performing a cmake Build */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Documentation]]&lt;br /&gt;
[[Category:Installation]]&lt;br /&gt;
[[Category:Developers]]&lt;br /&gt;
This HowTo provides detailed notes and explanations for building the Trinity Desktop Environment base&lt;br /&gt;
packages.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Introduction and Requirements==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Basic Building Requirements===&lt;br /&gt;
&lt;br /&gt;
Individual Linux distributions might have different build requirements. If these are known they will be available &lt;br /&gt;
on the Distribution Specific Builds page.&lt;br /&gt;
&lt;br /&gt;
There is an ongoing effort to convert the build process from autotools to cmake. Until the cmake conversion is &lt;br /&gt;
complete, both cmake and autotools are needed to build Trinity packages. cmake 2.8.12 or more recent is expected &lt;br /&gt;
when building with cmake.&lt;br /&gt;
&lt;br /&gt;
To build the packages still using autotools, you will need a standard autotools setup (automake, autoconf, etc.)&lt;br /&gt;
&lt;br /&gt;
You&amp;#039;ll also need a C++ compiler. g++ from the GNU Compiler Collection is the most usual, the current GIT version of Trinity has been tested &lt;br /&gt;
against versions up to and including 4.6. clang++ is also supported.&lt;br /&gt;
&lt;br /&gt;
===Other Requirements===&lt;br /&gt;
&lt;br /&gt;
(NOTE:  List compiled from old QT3/kdelibs/kde-base ebuilds--will someone please check these?)&lt;br /&gt;
&lt;br /&gt;
Most of the non-build-related mandatory dependencies for the core Trinity packages are pretty basic:&lt;br /&gt;
&lt;br /&gt;
*an X server&lt;br /&gt;
*openssl&lt;br /&gt;
*fontconfig&lt;br /&gt;
*freetype&lt;br /&gt;
*ghostscript&lt;br /&gt;
*xdg support&lt;br /&gt;
*libpng&lt;br /&gt;
*libmng&lt;br /&gt;
&lt;br /&gt;
If your Linux distribution came with any kind of graphical environment at all, you should already have&lt;br /&gt;
this stuff.&lt;br /&gt;
&lt;br /&gt;
To build tdepim, you will also need libical (standard on many distros).&lt;br /&gt;
&lt;br /&gt;
See Additional Functionality for a list of optional dependencies and what they enable.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===About QT3===&lt;br /&gt;
&lt;br /&gt;
Trinity uses the QT3 widget toolkit.  Since Trolltech, the original owners, dropped support for QT3&lt;br /&gt;
several years ago, the Trinity Project has taken over QT3&amp;#039;s maintenance.  In other words, we&amp;#039;re now&lt;br /&gt;
QT3 upstream, and you should be obtaining your QT3 sources from the Trinity package tarballs or GIT repository.&lt;br /&gt;
&lt;br /&gt;
The version of QT3 used with Trinity 3.5.13 and later incorporates numerous patches.  If you&amp;#039;re trying to &lt;br /&gt;
use an old QT3/KDE3 packaging build setup for your distribution with Trinity&amp;#039;s QT3, don&amp;#039;t be too surprised &lt;br /&gt;
if some patches don&amp;#039;t apply.  Unless the patch is distribution-specific, chances are that it&amp;#039;s been added&lt;br /&gt;
to the main source tree.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===About libart===&lt;br /&gt;
&lt;br /&gt;
libart-lgpl is another dependency package that the Trinity Project has taken over after it was &lt;br /&gt;
[https://bugzilla.gnome.org/show_bug.cgi?id=155472#c4 dropped] by its original maintainer, because &lt;br /&gt;
it needed several [http://git.trinitydesktop.org/cgit/libart-lgpl/diff/?id=150562b89b645c402f1bb837a09f8b84bf6e49ec patches] &lt;br /&gt;
to prevent crashes.  The version of libart provided by the Trinity Project includes those patches and is &lt;br /&gt;
intended to be a replacement for any version of libart currently installed by any distro. Build this patched version &lt;br /&gt;
of libart and replace the stock libart installed with the distro.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Coexisting with QT4/KDE4===&lt;br /&gt;
&lt;br /&gt;
Trinity is intended to be able to run on computers that also have KDE4 installed.  Originally, a lot of&lt;br /&gt;
Trinity applications had the same names as their KDE4 counterparts, which was problematic.  All of &lt;br /&gt;
those have been renamed.  In general, this was accomplished by changing the old KDE &amp;quot;K&amp;quot; prefix to a &lt;br /&gt;
&amp;quot;T&amp;quot; (&amp;quot;kwin&amp;quot; -&amp;gt; &amp;quot;twin&amp;quot;).  Applications that don&amp;#039;t match anything currently part of KDE4 have retained their &lt;br /&gt;
old names.&lt;br /&gt;
&lt;br /&gt;
To avoid stepping on KDE4&amp;#039;s toes, we &amp;#039;&amp;#039;strongly&amp;#039;&amp;#039; suggest picking a specific subdirectory prefix to install Trinity&lt;br /&gt;
to--the one used in these directions is $PREFIX=/opt/trinity.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Preparing the Source==&lt;br /&gt;
&lt;br /&gt;
To use the release tarballs, just untar them somewhere.&lt;br /&gt;
&lt;br /&gt;
To live dangerously and use the GIT sources, read [[Notes on GIT Sources]] first.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Building==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Suggested Build Order===&lt;br /&gt;
&lt;br /&gt;
A lot of the Trinity core packages depend on one another (in particular, everything depends on tdelibs).&lt;br /&gt;
Follow this build order to prevent problems.&lt;br /&gt;
&lt;br /&gt;
Start with the required core packages:&lt;br /&gt;
&lt;br /&gt;
#tqt3 (replaces Qt3; Qt3 without the tqtinterface layer remains available)&lt;br /&gt;
#cmake-trinity&lt;br /&gt;
#tqtinterface&lt;br /&gt;
#arts&lt;br /&gt;
#dbus-tqt&lt;br /&gt;
#dbus-1-tqt&lt;br /&gt;
#tqca-tls (Recommended but required for some applications, such as the Kopete OTR add-on)&lt;br /&gt;
#libart-lgpl&lt;br /&gt;
#avahi-tqt (Recommended but required when supporting DNS discovery services)&lt;br /&gt;
#tdelibs&lt;br /&gt;
#tdebase&lt;br /&gt;
&lt;br /&gt;
At this point, you should have a functioning TDE desktop with basic utilities (terminal, file manager,&lt;br /&gt;
text/source editors, etc.)  If you&amp;#039;re going to build tdebindings and want Python support available,&lt;br /&gt;
continue with the Python linking packages (or skip over them if you don&amp;#039;t care about Python support):&lt;br /&gt;
&lt;br /&gt;
#sip4-tqt&lt;br /&gt;
#python-tqt&lt;br /&gt;
#pytdeextensions&lt;br /&gt;
#python-trinity&lt;br /&gt;
#tqscintilla &lt;br /&gt;
&lt;br /&gt;
The following build order seems to work well for the remaining core packages when building the stable release.&lt;br /&gt;
You don&amp;#039;t have to install everything, though, unless you&amp;#039;re packaging TDE for your distribution--pick the packages &lt;br /&gt;
that suit your use case.&lt;br /&gt;
&lt;br /&gt;
#tdebindings&lt;br /&gt;
#tdeaccessibility&lt;br /&gt;
#tdeutils&lt;br /&gt;
#tdemultimedia&lt;br /&gt;
#tdenetwork&lt;br /&gt;
#tdeadmin&lt;br /&gt;
#tdeartwork&lt;br /&gt;
#tdegames&lt;br /&gt;
#tdetoys&lt;br /&gt;
#tdeedu&lt;br /&gt;
#tdegraphics&lt;br /&gt;
#tdepim&lt;br /&gt;
#tdesdk (Build tdesdk after installing tdepim. tdepim provides libkcal (bugzilla) hooks for tdesdk.)&lt;br /&gt;
#tdevelop (Build tdevelop after tdesdk. tdesdk provides cvs support for tdevelop.)&lt;br /&gt;
#tdeaddons &lt;br /&gt;
&lt;br /&gt;
Once that&amp;#039;s done, you may want to add [[How to Build Extra Applications|some extra applications]] on top.&lt;br /&gt;
&lt;br /&gt;
===Building Packages with cmake===&lt;br /&gt;
&lt;br /&gt;
Starting from TDE version R14.0.11, the package cmake-trinity is mandatory prior to building, this package includes the required macros for the build.&lt;br /&gt;
&lt;br /&gt;
====List of Packages Building with cmake====&lt;br /&gt;
&lt;br /&gt;
cmake is the newer, easier, and more maintainable build system the Trinity Project is in the process of porting TDE source to.&lt;br /&gt;
&lt;br /&gt;
The list of modules maintained as an [https://mirror.git.trinitydesktop.org/gitea/TDE/tde/issues/9 issue #9 in the TGW] indicates which core and dependency packages have already been converted, and their autotools build scripts are no longer maintained. Some other packages are in the process of conversion, but do not have complete cmake build scripts yet. Build everything not in the list above with autotools.&lt;br /&gt;
&lt;br /&gt;
Read the notes section below for individual package requirements before trying to build anything.&lt;br /&gt;
&lt;br /&gt;
====Performing a cmake Build====&lt;br /&gt;
&lt;br /&gt;
The command listing below is only an example.  You will wish to edit the exports if your distribution&lt;br /&gt;
puts things in unusual locations or if you wish to install to somewhere other than /opt/trinity (tqtinterface&lt;br /&gt;
has special requirements--see the Notes).  Not all exports will be needed on all systems.&lt;br /&gt;
&lt;br /&gt;
 export PREFIX=/opt/trinity&lt;br /&gt;
 export SYSCONFDIR=/etc/trinity&lt;br /&gt;
 export LIBDIR=/opt/trinity/lib&lt;br /&gt;
 export MANDIR=/opt/trinity/man&lt;br /&gt;
 export QTDIR=/opt/trinity/lib/tqt3&lt;br /&gt;
 export PATH=/opt/trinity/tqt3/bin:/opt/trinity/bin:$PATH&lt;br /&gt;
 export LD_LIBRARY_PATH=/opt/trinity/lib:/opt/trinity/lib/trinity:$LD_LIBRARY_PATH&lt;br /&gt;
 export PKG_CONFIG_PATH=:/opt/trinity/lib/pkgconfig:/opt/trinity/tqt3/lib/pkgconfig:$PKG_CONFIG_PATH&lt;br /&gt;
 &lt;br /&gt;
  cmake path/to/trinity/module \&lt;br /&gt;
    -DCMAKE_EXPORT_COMPILE_COMMANDS=&amp;quot;ON&amp;quot; \&lt;br /&gt;
    -DCMAKE_BUILD_TYPE=RelWithDebInfo \&lt;br /&gt;
    -DCMAKE_VERBOSE_MAKEFILE=&amp;quot;ON&amp;quot; \&lt;br /&gt;
    -DCMAKE_SKIP_RPATH=&amp;quot;OFF&amp;quot; \&lt;br /&gt;
    -DCMAKE_INSTALL_PREFIX=${PREFIX} \&lt;br /&gt;
    -DSYSCONF_INSTALL_DIR=${SYSCONFDIR} \&lt;br /&gt;
    -DLIB_SUFFIX=${LIBDIRSUFFIX} \&lt;br /&gt;
    -DMAN_INSTALL_DIR=${MANDIR} \&lt;br /&gt;
    -DBUILD_ALL=&amp;quot;ON&amp;quot; \&lt;br /&gt;
    -DWITH_ALL_OPTIONS=&amp;quot;ON&amp;quot;&lt;br /&gt;
  make&lt;br /&gt;
&lt;br /&gt;
====Notes====&lt;br /&gt;
&lt;br /&gt;
*Until the cmake migration is fully completed, tqtinterface should be built to install with a $PREFIX of /usr rather than /opt/trinity, even if you are installing everything else to /opt/trinity.&lt;br /&gt;
&lt;br /&gt;
*tqtinterface requires the following additional QT-related build option:&lt;br /&gt;
&lt;br /&gt;
 -DQT_VERSION=3&lt;br /&gt;
&lt;br /&gt;
*arts and tdelibs execute compiled binaries as part of the build process. Therefore they need to have -DCMAKE_SKIP_RPATH=&amp;quot;OFF&amp;quot; set. All other modules do not need the RPATH set.&lt;br /&gt;
&lt;br /&gt;
*When building on 64-bit, the following (T)Qt3 configuration option might need to be explicitly declared in some distro build scripts:&lt;br /&gt;
&lt;br /&gt;
 -platform linux-g++-64 (rather than linux-g++ (notice the dash!))&lt;br /&gt;
&lt;br /&gt;
*If class constructor issues surface during the build, please post the error to the trinity-users list.&lt;br /&gt;
&lt;br /&gt;
===Building Packages with Autoconf===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Introduction====&lt;br /&gt;
&lt;br /&gt;
If the package you&amp;#039;re trying to build is on the list of those that will build with cmake, try that first, because &lt;br /&gt;
its autotools files will be unmaintained, bit-rotted, and possibly outright broken.&lt;br /&gt;
&lt;br /&gt;
Please read the notes section below for individual package requirements before trying to build anything.&lt;br /&gt;
&lt;br /&gt;
For those packages that still need to be built with autotools, the following steps must be run for each affected &lt;br /&gt;
Trinity module, including tarball snapshots.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Regenerate Autoconf/Automake files====&lt;br /&gt;
&lt;br /&gt;
cd to the desired module to build, then run:&lt;br /&gt;
&lt;br /&gt;
 cp -Rp &amp;lt;path to your system&amp;#039;s libtool.m4 file&amp;gt; admin/libtool.m4.in&lt;br /&gt;
 cp -Rp &amp;lt;path to your system&amp;#039;s ltmain.sh file&amp;gt; admin/ltmain.sh&lt;br /&gt;
 make -f admin/Makefile.common&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Configure and Build====&lt;br /&gt;
&lt;br /&gt;
 export PREFIX=/opt/trinity&lt;br /&gt;
 export SYSCONFDIR=/etc/trinity&lt;br /&gt;
 export LIBDIR=/opt/trinity/lib&lt;br /&gt;
 export MANDIR=/opt/trinity/man&lt;br /&gt;
 export QTDIR=/opt/trinity/lib/qt3-3.3.8.d&lt;br /&gt;
 export PATH=/opt/trinity/qt3-3.3.8.d/bin:/opt/trinity/bin:$PATH&lt;br /&gt;
 export LD_LIBRARY_PATH=/opt/trinity/lib:/opt/trinity/lib/trinity:$LD_LIBRARY_PATH&lt;br /&gt;
 export PKG_CONFIG_PATH=:/opt/trinity/lib/pkgconfig:/opt/trinity/qt3-3.3.8.d/lib/pkgconfig:$PKG_CONFIG_PATH&lt;br /&gt;
 # Enable only one of the following:&lt;br /&gt;
 # export DEBUG_AUTOTOOL_OPT=&amp;quot;--enable-debug=full&amp;quot;&lt;br /&gt;
 export DEBUG_AUTOTOOL_OPT=&amp;quot;--disable-debug&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
  CFLAGS=$CPUOPT \&lt;br /&gt;
  CXXFLAGS=$CPUOPT \&lt;br /&gt;
  ./configure \&lt;br /&gt;
    --prefix=${PREFIX} \&lt;br /&gt;
    --sysconfdir=${SYSCONFDIR} \&lt;br /&gt;
    --libdir=${LIBDIR} \&lt;br /&gt;
    --mandir=${MANDIR} \&lt;br /&gt;
    --with-qt-dir=${QTDIR} \&lt;br /&gt;
    --with-qt-includes=${QTDIR}/include \&lt;br /&gt;
    --with-qt-libraries=${QTDIR}/lib \&lt;br /&gt;
    $DEBUG_AUTOTOOL_OPT&lt;br /&gt;
&lt;br /&gt;
View the Distribution Specific Builds page for additional configure options.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Notes====&lt;br /&gt;
&lt;br /&gt;
*Certain modules will not build across multiple cores in parallel. That is, with a &amp;quot;make -j&amp;quot; flag set to anything greater than 1. These packages are:&lt;br /&gt;
**tdebindings (some people have no problems with this package and parallel processing)&lt;br /&gt;
**tdemultimedia (some people have no problems with this package and parallel processing) &lt;br /&gt;
&lt;br /&gt;
*Not well documented anywhere, but when building with automake several packages need the --enable-closure configure option:&lt;br /&gt;
**tdeaccessibility&lt;br /&gt;
**tdeaddons&lt;br /&gt;
**tdeadmin&lt;br /&gt;
**tdebindings&lt;br /&gt;
**tdeedu&lt;br /&gt;
**tdegames&lt;br /&gt;
**tdemultimedia&lt;br /&gt;
**tdesdk&lt;br /&gt;
&lt;br /&gt;
*When building on 64-bit, the following (T)Qt3 configuration option might need to be explicitly declared in some distro build scripts:&lt;br /&gt;
&lt;br /&gt;
 -platform linux=g++-64 (rather than linux-g++ (notice the dash!))&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Build Times===&lt;br /&gt;
&lt;br /&gt;
Building Trinity requires time and patience. Build times vary. Here are some guidelines from building &lt;br /&gt;
Trinity 3.5.12 on a dual core 2.3 GHz AM2 with 4GB of RAM, using tmpfs, 7200 rpm SATA II hard drives; &lt;br /&gt;
with Amarok, Firefox, Konsole, Konqueror, Kate, and other various apps often running concurrently. Compile &lt;br /&gt;
times will be faster without such overhead, but likely will be longer when building with support package hooks.&lt;br /&gt;
Packages using cmake will build faster than those still stuck on autotools.&lt;br /&gt;
&lt;br /&gt;
*tqtinterface: 2 minutes&lt;br /&gt;
*arts: 4 minutes&lt;br /&gt;
*tdelibs: 44 minutes&lt;br /&gt;
*tdebase: 33 minutes&lt;br /&gt;
*tdebindings: 36 minutes&lt;br /&gt;
*tdeaccessibility: 5 minutes&lt;br /&gt;
*tdeutils: 8 minutes&lt;br /&gt;
*tdemultimedia: 24 minutes&lt;br /&gt;
*tdenetwork: 23 minutes&lt;br /&gt;
*tdeadmin: 4 minutes&lt;br /&gt;
*tdeartwork: 3 minutes&lt;br /&gt;
*tdegames: 8 minutes&lt;br /&gt;
*tdetoys: 2 minutes&lt;br /&gt;
*tdeedu: 15 minutes&lt;br /&gt;
*tdegraphics: 17 minutes&lt;br /&gt;
*tdesdk: 14 minutes&lt;br /&gt;
*tdevelop: 27 minutes&lt;br /&gt;
*tdeaddons: 7 minutes&lt;br /&gt;
*tdewebdev: 12 minutes&lt;br /&gt;
*tdepim: 63 minutes &lt;br /&gt;
&lt;br /&gt;
Approximate total time: 5 hours 51 minutes&lt;br /&gt;
&lt;br /&gt;
Time to a functional system (basic desktop): 1 hour 23 minutes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Installing==&lt;br /&gt;
&lt;br /&gt;
The command is the same regardless of whether your package was built with cmake or autotools:&lt;br /&gt;
&lt;br /&gt;
 make install || exit 1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Additional Functionality==&lt;br /&gt;
&lt;br /&gt;
Certain Trinity packages gain additional functionality when compiled with additional dependencies available.&lt;br /&gt;
Also, we maintain some libraries which provide purely optional functionality.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Optional Trinity Libraries===&lt;br /&gt;
&lt;br /&gt;
None of these Trinity libraries are required but all provide additional functionality for a variety of packages. &lt;br /&gt;
These libraries must be built and installed before any packages using these libraries can take advantage of the &lt;br /&gt;
additional functionality.&lt;br /&gt;
&lt;br /&gt;
*libkipi: required by kipi-plugins&lt;br /&gt;
*kipi-plugins: several high-end image viewers such as gwenview and digikam&lt;br /&gt;
*libkdcraw: several image viewers and graphics apps, such as chalk and digikam&lt;br /&gt;
*libkexiv2: several image viewers&lt;br /&gt;
*libksquirrel: required by ksquirrel (TDE swiss-army-knife for graphic file formats, also supports medical image formats if xmedcon is provided)&lt;br /&gt;
*libtqt-perl: adept add-on&lt;br /&gt;
*mlt: not required or supported at this time&lt;br /&gt;
*mlt++: not required or supported at this time&lt;br /&gt;
*pytdeextensions: replacement for PyQt3 and PyKDE3, and used by apps such as tdebindings and tde-guidance&lt;br /&gt;
*python-trinity: replacement for PyQt3 and PyKDE3, and used by apps such as tdebindings and tde-guidance &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===List of Optional Dependencies by Trinity Package===&lt;br /&gt;
&lt;br /&gt;
====tdelibs====&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;avahi&amp;#039;&amp;#039;&amp;#039; DNS discovery&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;avahi-tqt&amp;#039;&amp;#039;&amp;#039; Trinity TQt layer for avahi, available in Trinity libraries&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;hspell&amp;#039;&amp;#039;&amp;#039; Hebrew spell checking&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;krb5&amp;#039;&amp;#039;&amp;#039; Kerberos authentication&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;openexr&amp;#039;&amp;#039;&amp;#039; EXR image format &lt;br /&gt;
&lt;br /&gt;
====tdebase====&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;avahi&amp;#039;&amp;#039;&amp;#039; DNS discovery&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;avahi-tqt&amp;#039;&amp;#039;&amp;#039; Trinity TQt layer for avahi, available in Trinity libraries&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;krb5&amp;#039;&amp;#039;&amp;#039; Kerberos authentication&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;openexr&amp;#039;&amp;#039;&amp;#039; EXR image format&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;GraphicsMagick&amp;#039;&amp;#039;&amp;#039; image filters &lt;br /&gt;
&lt;br /&gt;
====tdebindings====&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;Ruby&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;JRE&amp;#039;&amp;#039;&amp;#039; Java Runtime Environment&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;JDK&amp;#039;&amp;#039;&amp;#039; Java Development Kit&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;Python&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;python-trinity&amp;#039;&amp;#039;&amp;#039;, available in Trinity libraries&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;pytdeextensions&amp;#039;&amp;#039;&amp;#039;, available in Trinity libraries &lt;br /&gt;
&lt;br /&gt;
====tdeutils====&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;xmms&amp;#039;&amp;#039;&amp;#039; multimedia player (superkaramba) &lt;br /&gt;
&lt;br /&gt;
====tdemultimedia====&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;cdparanoia&amp;#039;&amp;#039;&amp;#039; digital audio extraction tool (kaudiocreator)&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;speex&amp;#039;&amp;#039;&amp;#039; an audio compression format designed for speech &lt;br /&gt;
&lt;br /&gt;
====tdenetwork====&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;xmms&amp;#039;&amp;#039;&amp;#039; multimedia player (kopete plugins)&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;ortp&amp;#039;&amp;#039;&amp;#039; real-time transport protocol stack under GPL (kopete plugins)&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;speex&amp;#039;&amp;#039;&amp;#039; audio compression format designed for speech (kopete plugins) &lt;br /&gt;
&lt;br /&gt;
====tdeedu====&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;facile&amp;#039;&amp;#039;&amp;#039; functional constraint library (kalzium)&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;ocaml&amp;#039;&amp;#039;&amp;#039; A programming language (kalzium)&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;boost&amp;#039;&amp;#039;&amp;#039; boost C++ Libraries &lt;br /&gt;
&lt;br /&gt;
====tdevelop====&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;graphviz&amp;#039;&amp;#039;&amp;#039; graph visualization &lt;br /&gt;
&lt;br /&gt;
====tdeaddons====&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;xmms&amp;#039;&amp;#039;&amp;#039; multimedia player (kicker applets) &lt;br /&gt;
&lt;br /&gt;
====tdewebdev====&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;XSLT&amp;#039;&amp;#039;&amp;#039; Extensible Stylesheet Language Transformations&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;DocBook&amp;#039;&amp;#039;&amp;#039; text markup&lt;br /&gt;
&lt;br /&gt;
====tdepim====&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;krb5&amp;#039;&amp;#039;&amp;#039; Kerberos authentication&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;ortp&amp;#039;&amp;#039;&amp;#039; real-time transport protocol stack under GPL (kopete)&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;gnokii&amp;#039;&amp;#039;&amp;#039; Nokia mobile phone support&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;opensync&amp;#039;&amp;#039;&amp;#039; data synchronization support&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;libcaldav&amp;#039;&amp;#039;&amp;#039; online calendar support, available through Trinity web site (http://www.trinitydesktop.org/relatedprojects.php)&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;libcarddav&amp;#039;&amp;#039;&amp;#039; online address book support, available through Trinity web site (http://www.trinitydesktop.org/relatedprojects.php) &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Quirks and Known Bugs==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Building Sip===&lt;br /&gt;
&lt;br /&gt;
Sip is available on many/most distros. Sip requires Qt3 to build, but won&amp;#039;t build on TQt3, which adds &lt;br /&gt;
the tqinterface layer to Qt3. More than likely down the road, Sip will be dumped or moved to Qt4 by distro &lt;br /&gt;
maintainers. All of the python-*-tqt-* packages need Sip to build. Build this TQt3 compatible version of Sip &lt;br /&gt;
and replace the stock Sip installed with the distro.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===OpenGL and nVidia===&lt;br /&gt;
&lt;br /&gt;
Building many Trinity and related packages depend upon OpenGL, such as &lt;br /&gt;
tdegraphics, k3b, koffice, tdenetwork, gwenview, digikam, etc.; &lt;br /&gt;
&lt;br /&gt;
as well as dependency packages such as &lt;br /&gt;
libkipi, libkdcraw, libkexiv2, avahi, etc. &lt;br /&gt;
&lt;br /&gt;
If any of those packages are built when the proprietary nvidia drivers are installed, the dependent package will fail to build &lt;br /&gt;
with an error about /usr/lib/libGL.la. &lt;br /&gt;
&lt;br /&gt;
That file is installed by the proprietary nvidia package. When building for personal use only, then building those packages with nvidia installed will pose no harm. &lt;br /&gt;
&lt;br /&gt;
When building packages for other users then build the entire suite of packages in a &amp;quot;clean&amp;quot; generic OpenGL environment. &lt;br /&gt;
&lt;br /&gt;
Other users might not use the proprietary nvidia package. This is true of any package that has OpenGL dependencies.&lt;br /&gt;
&lt;br /&gt;
===Tdeartwork and xhack Screensavers===&lt;br /&gt;
&lt;br /&gt;
Before building tdeartwork, install any and all xhack screensavers that might be uses, then&lt;br /&gt;
&lt;br /&gt;
cd &amp;lt;tdeartwork&amp;gt;/kscreensaver/kxsconfig/&lt;br /&gt;
./update_hacks.sh&lt;br /&gt;
&lt;br /&gt;
This will generate the TDE bindings required to allow installed screensavers show up in the Trinity &lt;br /&gt;
screensaver control panel, along with their configuration options. When adding a new screensaver the &lt;br /&gt;
update_hacks command needs to be rerun and tdeartwork recompiled/reinstalled. Distribution maintainers should &lt;br /&gt;
install all available screensavers from their distribution and then run update_hacks during the initial build &lt;br /&gt;
setup when building redistributable binary packages (see the Debian tdeartwork build scripts in GIT for an &lt;br /&gt;
example of how to do this).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Poppler Support in Tdegraphics===&lt;br /&gt;
&lt;br /&gt;
Building tdegraphics with poppler support requires building a Trinity poppler-tqt support package. With &lt;br /&gt;
many distros poppler no longer is built with Qt3 support. The Trinity poppler-tqt provides the necessary hooks for &lt;br /&gt;
tdegraphics without rebuilding poppler. The poppler-tqt dependency sources are located in the tdegraphics/kfile-plugins &lt;br /&gt;
dependencies directory and are built automatically with the tdegraphics build option -DWITH_PDF=ON.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Tdesvn/Tdesdk svn-kio Conflict===&lt;br /&gt;
&lt;br /&gt;
tdesvn and tdesdk provide conflicting files for svn-kio services. Neither package is a dependency of the other. &lt;br /&gt;
When tdesdk or tdesvn will be installed without the other, then no change is required. When both tdesdk and tdesvn &lt;br /&gt;
are to be installed, then to avoid filesystem conflicts the following files must be removed from one of the packages &lt;br /&gt;
before installing:&lt;br /&gt;
&lt;br /&gt;
  /opt/trinity/share/services/svn+file.protocol&lt;br /&gt;
  /opt/trinity/share/services/svn+http.protocol&lt;br /&gt;
  /opt/trinity/share/services/svn+https.protocol&lt;br /&gt;
  /opt/trinity/share/services/svn+ssh.protocol&lt;br /&gt;
  /opt/trinity/share/services/svn.protocol&lt;br /&gt;
&lt;br /&gt;
Since tdesvn uses the ksvn kio exclusively, while tdesdk uses the svn kio, consider removing the conflicting files &lt;br /&gt;
from tdesdk to eliminate the same services relying on multiple kio service files.&lt;/div&gt;</summary>
		<author><name>Cethyel</name></author>
	</entry>
	<entry>
		<id>https://wiki.trinitydesktop.net/index.php?title=How_to_Build_TDE_Core_Modules&amp;diff=1609</id>
		<title>How to Build TDE Core Modules</title>
		<link rel="alternate" type="text/html" href="https://wiki.trinitydesktop.net/index.php?title=How_to_Build_TDE_Core_Modules&amp;diff=1609"/>
		<updated>2021-06-09T20:56:51Z</updated>

		<summary type="html">&lt;p&gt;Cethyel: /* Building Packages with cmake */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Documentation]]&lt;br /&gt;
[[Category:Installation]]&lt;br /&gt;
[[Category:Developers]]&lt;br /&gt;
This HowTo provides detailed notes and explanations for building the Trinity Desktop Environment base&lt;br /&gt;
packages.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Introduction and Requirements==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Basic Building Requirements===&lt;br /&gt;
&lt;br /&gt;
Individual Linux distributions might have different build requirements. If these are known they will be available &lt;br /&gt;
on the Distribution Specific Builds page.&lt;br /&gt;
&lt;br /&gt;
There is an ongoing effort to convert the build process from autotools to cmake. Until the cmake conversion is &lt;br /&gt;
complete, both cmake and autotools are needed to build Trinity packages. cmake 2.8.12 or more recent is expected &lt;br /&gt;
when building with cmake.&lt;br /&gt;
&lt;br /&gt;
To build the packages still using autotools, you will need a standard autotools setup (automake, autoconf, etc.)&lt;br /&gt;
&lt;br /&gt;
You&amp;#039;ll also need a C++ compiler. g++ from the GNU Compiler Collection is the most usual, the current GIT version of Trinity has been tested &lt;br /&gt;
against versions up to and including 4.6. clang++ is also supported.&lt;br /&gt;
&lt;br /&gt;
===Other Requirements===&lt;br /&gt;
&lt;br /&gt;
(NOTE:  List compiled from old QT3/kdelibs/kde-base ebuilds--will someone please check these?)&lt;br /&gt;
&lt;br /&gt;
Most of the non-build-related mandatory dependencies for the core Trinity packages are pretty basic:&lt;br /&gt;
&lt;br /&gt;
*an X server&lt;br /&gt;
*openssl&lt;br /&gt;
*fontconfig&lt;br /&gt;
*freetype&lt;br /&gt;
*ghostscript&lt;br /&gt;
*xdg support&lt;br /&gt;
*libpng&lt;br /&gt;
*libmng&lt;br /&gt;
&lt;br /&gt;
If your Linux distribution came with any kind of graphical environment at all, you should already have&lt;br /&gt;
this stuff.&lt;br /&gt;
&lt;br /&gt;
To build tdepim, you will also need libical (standard on many distros).&lt;br /&gt;
&lt;br /&gt;
See Additional Functionality for a list of optional dependencies and what they enable.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===About QT3===&lt;br /&gt;
&lt;br /&gt;
Trinity uses the QT3 widget toolkit.  Since Trolltech, the original owners, dropped support for QT3&lt;br /&gt;
several years ago, the Trinity Project has taken over QT3&amp;#039;s maintenance.  In other words, we&amp;#039;re now&lt;br /&gt;
QT3 upstream, and you should be obtaining your QT3 sources from the Trinity package tarballs or GIT repository.&lt;br /&gt;
&lt;br /&gt;
The version of QT3 used with Trinity 3.5.13 and later incorporates numerous patches.  If you&amp;#039;re trying to &lt;br /&gt;
use an old QT3/KDE3 packaging build setup for your distribution with Trinity&amp;#039;s QT3, don&amp;#039;t be too surprised &lt;br /&gt;
if some patches don&amp;#039;t apply.  Unless the patch is distribution-specific, chances are that it&amp;#039;s been added&lt;br /&gt;
to the main source tree.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===About libart===&lt;br /&gt;
&lt;br /&gt;
libart-lgpl is another dependency package that the Trinity Project has taken over after it was &lt;br /&gt;
[https://bugzilla.gnome.org/show_bug.cgi?id=155472#c4 dropped] by its original maintainer, because &lt;br /&gt;
it needed several [http://git.trinitydesktop.org/cgit/libart-lgpl/diff/?id=150562b89b645c402f1bb837a09f8b84bf6e49ec patches] &lt;br /&gt;
to prevent crashes.  The version of libart provided by the Trinity Project includes those patches and is &lt;br /&gt;
intended to be a replacement for any version of libart currently installed by any distro. Build this patched version &lt;br /&gt;
of libart and replace the stock libart installed with the distro.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Coexisting with QT4/KDE4===&lt;br /&gt;
&lt;br /&gt;
Trinity is intended to be able to run on computers that also have KDE4 installed.  Originally, a lot of&lt;br /&gt;
Trinity applications had the same names as their KDE4 counterparts, which was problematic.  All of &lt;br /&gt;
those have been renamed.  In general, this was accomplished by changing the old KDE &amp;quot;K&amp;quot; prefix to a &lt;br /&gt;
&amp;quot;T&amp;quot; (&amp;quot;kwin&amp;quot; -&amp;gt; &amp;quot;twin&amp;quot;).  Applications that don&amp;#039;t match anything currently part of KDE4 have retained their &lt;br /&gt;
old names.&lt;br /&gt;
&lt;br /&gt;
To avoid stepping on KDE4&amp;#039;s toes, we &amp;#039;&amp;#039;strongly&amp;#039;&amp;#039; suggest picking a specific subdirectory prefix to install Trinity&lt;br /&gt;
to--the one used in these directions is $PREFIX=/opt/trinity.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Preparing the Source==&lt;br /&gt;
&lt;br /&gt;
To use the release tarballs, just untar them somewhere.&lt;br /&gt;
&lt;br /&gt;
To live dangerously and use the GIT sources, read [[Notes on GIT Sources]] first.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Building==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Suggested Build Order===&lt;br /&gt;
&lt;br /&gt;
A lot of the Trinity core packages depend on one another (in particular, everything depends on tdelibs).&lt;br /&gt;
Follow this build order to prevent problems.&lt;br /&gt;
&lt;br /&gt;
Start with the required core packages:&lt;br /&gt;
&lt;br /&gt;
#tqt3 (replaces Qt3; Qt3 without the tqtinterface layer remains available)&lt;br /&gt;
#cmake-trinity&lt;br /&gt;
#tqtinterface&lt;br /&gt;
#arts&lt;br /&gt;
#dbus-tqt&lt;br /&gt;
#dbus-1-tqt&lt;br /&gt;
#tqca-tls (Recommended but required for some applications, such as the Kopete OTR add-on)&lt;br /&gt;
#libart-lgpl&lt;br /&gt;
#avahi-tqt (Recommended but required when supporting DNS discovery services)&lt;br /&gt;
#tdelibs&lt;br /&gt;
#tdebase&lt;br /&gt;
&lt;br /&gt;
At this point, you should have a functioning TDE desktop with basic utilities (terminal, file manager,&lt;br /&gt;
text/source editors, etc.)  If you&amp;#039;re going to build tdebindings and want Python support available,&lt;br /&gt;
continue with the Python linking packages (or skip over them if you don&amp;#039;t care about Python support):&lt;br /&gt;
&lt;br /&gt;
#sip4-tqt&lt;br /&gt;
#python-tqt&lt;br /&gt;
#pytdeextensions&lt;br /&gt;
#python-trinity&lt;br /&gt;
#tqscintilla &lt;br /&gt;
&lt;br /&gt;
The following build order seems to work well for the remaining core packages when building the stable release.&lt;br /&gt;
You don&amp;#039;t have to install everything, though, unless you&amp;#039;re packaging TDE for your distribution--pick the packages &lt;br /&gt;
that suit your use case.&lt;br /&gt;
&lt;br /&gt;
#tdebindings&lt;br /&gt;
#tdeaccessibility&lt;br /&gt;
#tdeutils&lt;br /&gt;
#tdemultimedia&lt;br /&gt;
#tdenetwork&lt;br /&gt;
#tdeadmin&lt;br /&gt;
#tdeartwork&lt;br /&gt;
#tdegames&lt;br /&gt;
#tdetoys&lt;br /&gt;
#tdeedu&lt;br /&gt;
#tdegraphics&lt;br /&gt;
#tdepim&lt;br /&gt;
#tdesdk (Build tdesdk after installing tdepim. tdepim provides libkcal (bugzilla) hooks for tdesdk.)&lt;br /&gt;
#tdevelop (Build tdevelop after tdesdk. tdesdk provides cvs support for tdevelop.)&lt;br /&gt;
#tdeaddons &lt;br /&gt;
&lt;br /&gt;
Once that&amp;#039;s done, you may want to add [[How to Build Extra Applications|some extra applications]] on top.&lt;br /&gt;
&lt;br /&gt;
===Building Packages with cmake===&lt;br /&gt;
&lt;br /&gt;
Starting from TDE version R14.0.11, the package cmake-trinity is mandatory prior to building, this package includes the required macros for the build.&lt;br /&gt;
&lt;br /&gt;
====List of Packages Building with cmake====&lt;br /&gt;
&lt;br /&gt;
cmake is the newer, easier, and more maintainable build system the Trinity Project is in the process of porting TDE source to.&lt;br /&gt;
&lt;br /&gt;
The list of modules maintained as an [https://mirror.git.trinitydesktop.org/gitea/TDE/tde/issues/9 issue #9 in the TGW] indicates which core and dependency packages have already been converted, and their autotools build scripts are no longer maintained. Some other packages are in the process of conversion, but do not have complete cmake build scripts yet. Build everything not in the list above with autotools.&lt;br /&gt;
&lt;br /&gt;
Read the notes section below for individual package requirements before trying to build anything.&lt;br /&gt;
&lt;br /&gt;
====Performing a cmake Build====&lt;br /&gt;
&lt;br /&gt;
The command listing below is only an example.  You will wish to edit the exports if your distribution&lt;br /&gt;
puts things in unusual locations or if you wish to install to somewhere other than /opt/trinity (tqtinterface&lt;br /&gt;
has special requirements--see the Notes).  Not all exports will be needed on all systems.&lt;br /&gt;
&lt;br /&gt;
 export PREFIX=/opt/trinity&lt;br /&gt;
 export SYSCONFDIR=/etc/trinity&lt;br /&gt;
 export LIBDIR=/opt/trinity/lib&lt;br /&gt;
 export MANDIR=/opt/trinity/man&lt;br /&gt;
 export QTDIR=/opt/trinity/lib/qt3-3.3.8.d&lt;br /&gt;
 export PATH=/opt/trinity/qt3-3.3.8.d/bin:/opt/trinity/bin:$PATH&lt;br /&gt;
 export LD_LIBRARY_PATH=/opt/trinity/lib:/opt/trinity/lib/trinity:$LD_LIBRARY_PATH&lt;br /&gt;
 export PKG_CONFIG_PATH=:/opt/trinity/lib/pkgconfig:/opt/trinity/qt3-3.3.8.d/lib/pkgconfig:$PKG_CONFIG_PATH&lt;br /&gt;
 # Enable only one of the following:&lt;br /&gt;
 # export DEBUG_AUTOTOOL_OPT=&amp;quot;--disable-debug&amp;quot;&lt;br /&gt;
 export DEBUG_CMAKE_OPT=&amp;quot;&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
  cmake path/to/trinity/module \&lt;br /&gt;
    -DCMAKE_C_FLAGS:STRING=&amp;quot;$CPUOPTIONS&amp;quot; \&lt;br /&gt;
    -DCMAKE_CXX_FLAGS:STRING=&amp;quot;$CPUOPTIONS $DEBUG_CMAKE_OPT&amp;quot; \&lt;br /&gt;
    -DCMAKE_INSTALL_PREFIX=${PREFIX} \&lt;br /&gt;
    -DSYSCONF_INSTALL_DIR=${SYSCONFDIR} \&lt;br /&gt;
    -DLIB_SUFFIX=${LIBDIRSUFFIX} \&lt;br /&gt;
    -DMAN_INSTALL_DIR=${MANDIR} \&lt;br /&gt;
    -DBUILD_ALL=ON&lt;br /&gt;
  make VERBOSE=1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Notes====&lt;br /&gt;
&lt;br /&gt;
*Until the cmake migration is fully completed, tqtinterface should be built to install with a $PREFIX of /usr rather than /opt/trinity, even if you are installing everything else to /opt/trinity.&lt;br /&gt;
&lt;br /&gt;
*tqtinterface requires the following additional QT-related build option:&lt;br /&gt;
&lt;br /&gt;
 -DQT_VERSION=3&lt;br /&gt;
&lt;br /&gt;
*arts and tdelibs execute compiled binaries as part of the build process. Therefore they need to have -DCMAKE_SKIP_RPATH=&amp;quot;OFF&amp;quot; set. All other modules do not need the RPATH set.&lt;br /&gt;
&lt;br /&gt;
*When building on 64-bit, the following (T)Qt3 configuration option might need to be explicitly declared in some distro build scripts:&lt;br /&gt;
&lt;br /&gt;
 -platform linux-g++-64 (rather than linux-g++ (notice the dash!))&lt;br /&gt;
&lt;br /&gt;
*If class constructor issues surface during the build, please post the error to the trinity-users list.&lt;br /&gt;
&lt;br /&gt;
===Building Packages with Autoconf===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Introduction====&lt;br /&gt;
&lt;br /&gt;
If the package you&amp;#039;re trying to build is on the list of those that will build with cmake, try that first, because &lt;br /&gt;
its autotools files will be unmaintained, bit-rotted, and possibly outright broken.&lt;br /&gt;
&lt;br /&gt;
Please read the notes section below for individual package requirements before trying to build anything.&lt;br /&gt;
&lt;br /&gt;
For those packages that still need to be built with autotools, the following steps must be run for each affected &lt;br /&gt;
Trinity module, including tarball snapshots.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Regenerate Autoconf/Automake files====&lt;br /&gt;
&lt;br /&gt;
cd to the desired module to build, then run:&lt;br /&gt;
&lt;br /&gt;
 cp -Rp &amp;lt;path to your system&amp;#039;s libtool.m4 file&amp;gt; admin/libtool.m4.in&lt;br /&gt;
 cp -Rp &amp;lt;path to your system&amp;#039;s ltmain.sh file&amp;gt; admin/ltmain.sh&lt;br /&gt;
 make -f admin/Makefile.common&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Configure and Build====&lt;br /&gt;
&lt;br /&gt;
 export PREFIX=/opt/trinity&lt;br /&gt;
 export SYSCONFDIR=/etc/trinity&lt;br /&gt;
 export LIBDIR=/opt/trinity/lib&lt;br /&gt;
 export MANDIR=/opt/trinity/man&lt;br /&gt;
 export QTDIR=/opt/trinity/lib/qt3-3.3.8.d&lt;br /&gt;
 export PATH=/opt/trinity/qt3-3.3.8.d/bin:/opt/trinity/bin:$PATH&lt;br /&gt;
 export LD_LIBRARY_PATH=/opt/trinity/lib:/opt/trinity/lib/trinity:$LD_LIBRARY_PATH&lt;br /&gt;
 export PKG_CONFIG_PATH=:/opt/trinity/lib/pkgconfig:/opt/trinity/qt3-3.3.8.d/lib/pkgconfig:$PKG_CONFIG_PATH&lt;br /&gt;
 # Enable only one of the following:&lt;br /&gt;
 # export DEBUG_AUTOTOOL_OPT=&amp;quot;--enable-debug=full&amp;quot;&lt;br /&gt;
 export DEBUG_AUTOTOOL_OPT=&amp;quot;--disable-debug&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
  CFLAGS=$CPUOPT \&lt;br /&gt;
  CXXFLAGS=$CPUOPT \&lt;br /&gt;
  ./configure \&lt;br /&gt;
    --prefix=${PREFIX} \&lt;br /&gt;
    --sysconfdir=${SYSCONFDIR} \&lt;br /&gt;
    --libdir=${LIBDIR} \&lt;br /&gt;
    --mandir=${MANDIR} \&lt;br /&gt;
    --with-qt-dir=${QTDIR} \&lt;br /&gt;
    --with-qt-includes=${QTDIR}/include \&lt;br /&gt;
    --with-qt-libraries=${QTDIR}/lib \&lt;br /&gt;
    $DEBUG_AUTOTOOL_OPT&lt;br /&gt;
&lt;br /&gt;
View the Distribution Specific Builds page for additional configure options.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Notes====&lt;br /&gt;
&lt;br /&gt;
*Certain modules will not build across multiple cores in parallel. That is, with a &amp;quot;make -j&amp;quot; flag set to anything greater than 1. These packages are:&lt;br /&gt;
**tdebindings (some people have no problems with this package and parallel processing)&lt;br /&gt;
**tdemultimedia (some people have no problems with this package and parallel processing) &lt;br /&gt;
&lt;br /&gt;
*Not well documented anywhere, but when building with automake several packages need the --enable-closure configure option:&lt;br /&gt;
**tdeaccessibility&lt;br /&gt;
**tdeaddons&lt;br /&gt;
**tdeadmin&lt;br /&gt;
**tdebindings&lt;br /&gt;
**tdeedu&lt;br /&gt;
**tdegames&lt;br /&gt;
**tdemultimedia&lt;br /&gt;
**tdesdk&lt;br /&gt;
&lt;br /&gt;
*When building on 64-bit, the following (T)Qt3 configuration option might need to be explicitly declared in some distro build scripts:&lt;br /&gt;
&lt;br /&gt;
 -platform linux=g++-64 (rather than linux-g++ (notice the dash!))&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Build Times===&lt;br /&gt;
&lt;br /&gt;
Building Trinity requires time and patience. Build times vary. Here are some guidelines from building &lt;br /&gt;
Trinity 3.5.12 on a dual core 2.3 GHz AM2 with 4GB of RAM, using tmpfs, 7200 rpm SATA II hard drives; &lt;br /&gt;
with Amarok, Firefox, Konsole, Konqueror, Kate, and other various apps often running concurrently. Compile &lt;br /&gt;
times will be faster without such overhead, but likely will be longer when building with support package hooks.&lt;br /&gt;
Packages using cmake will build faster than those still stuck on autotools.&lt;br /&gt;
&lt;br /&gt;
*tqtinterface: 2 minutes&lt;br /&gt;
*arts: 4 minutes&lt;br /&gt;
*tdelibs: 44 minutes&lt;br /&gt;
*tdebase: 33 minutes&lt;br /&gt;
*tdebindings: 36 minutes&lt;br /&gt;
*tdeaccessibility: 5 minutes&lt;br /&gt;
*tdeutils: 8 minutes&lt;br /&gt;
*tdemultimedia: 24 minutes&lt;br /&gt;
*tdenetwork: 23 minutes&lt;br /&gt;
*tdeadmin: 4 minutes&lt;br /&gt;
*tdeartwork: 3 minutes&lt;br /&gt;
*tdegames: 8 minutes&lt;br /&gt;
*tdetoys: 2 minutes&lt;br /&gt;
*tdeedu: 15 minutes&lt;br /&gt;
*tdegraphics: 17 minutes&lt;br /&gt;
*tdesdk: 14 minutes&lt;br /&gt;
*tdevelop: 27 minutes&lt;br /&gt;
*tdeaddons: 7 minutes&lt;br /&gt;
*tdewebdev: 12 minutes&lt;br /&gt;
*tdepim: 63 minutes &lt;br /&gt;
&lt;br /&gt;
Approximate total time: 5 hours 51 minutes&lt;br /&gt;
&lt;br /&gt;
Time to a functional system (basic desktop): 1 hour 23 minutes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Installing==&lt;br /&gt;
&lt;br /&gt;
The command is the same regardless of whether your package was built with cmake or autotools:&lt;br /&gt;
&lt;br /&gt;
 make install || exit 1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Additional Functionality==&lt;br /&gt;
&lt;br /&gt;
Certain Trinity packages gain additional functionality when compiled with additional dependencies available.&lt;br /&gt;
Also, we maintain some libraries which provide purely optional functionality.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Optional Trinity Libraries===&lt;br /&gt;
&lt;br /&gt;
None of these Trinity libraries are required but all provide additional functionality for a variety of packages. &lt;br /&gt;
These libraries must be built and installed before any packages using these libraries can take advantage of the &lt;br /&gt;
additional functionality.&lt;br /&gt;
&lt;br /&gt;
*libkipi: required by kipi-plugins&lt;br /&gt;
*kipi-plugins: several high-end image viewers such as gwenview and digikam&lt;br /&gt;
*libkdcraw: several image viewers and graphics apps, such as chalk and digikam&lt;br /&gt;
*libkexiv2: several image viewers&lt;br /&gt;
*libksquirrel: required by ksquirrel (TDE swiss-army-knife for graphic file formats, also supports medical image formats if xmedcon is provided)&lt;br /&gt;
*libtqt-perl: adept add-on&lt;br /&gt;
*mlt: not required or supported at this time&lt;br /&gt;
*mlt++: not required or supported at this time&lt;br /&gt;
*pytdeextensions: replacement for PyQt3 and PyKDE3, and used by apps such as tdebindings and tde-guidance&lt;br /&gt;
*python-trinity: replacement for PyQt3 and PyKDE3, and used by apps such as tdebindings and tde-guidance &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===List of Optional Dependencies by Trinity Package===&lt;br /&gt;
&lt;br /&gt;
====tdelibs====&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;avahi&amp;#039;&amp;#039;&amp;#039; DNS discovery&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;avahi-tqt&amp;#039;&amp;#039;&amp;#039; Trinity TQt layer for avahi, available in Trinity libraries&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;hspell&amp;#039;&amp;#039;&amp;#039; Hebrew spell checking&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;krb5&amp;#039;&amp;#039;&amp;#039; Kerberos authentication&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;openexr&amp;#039;&amp;#039;&amp;#039; EXR image format &lt;br /&gt;
&lt;br /&gt;
====tdebase====&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;avahi&amp;#039;&amp;#039;&amp;#039; DNS discovery&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;avahi-tqt&amp;#039;&amp;#039;&amp;#039; Trinity TQt layer for avahi, available in Trinity libraries&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;krb5&amp;#039;&amp;#039;&amp;#039; Kerberos authentication&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;openexr&amp;#039;&amp;#039;&amp;#039; EXR image format&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;GraphicsMagick&amp;#039;&amp;#039;&amp;#039; image filters &lt;br /&gt;
&lt;br /&gt;
====tdebindings====&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;Ruby&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;JRE&amp;#039;&amp;#039;&amp;#039; Java Runtime Environment&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;JDK&amp;#039;&amp;#039;&amp;#039; Java Development Kit&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;Python&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;python-trinity&amp;#039;&amp;#039;&amp;#039;, available in Trinity libraries&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;pytdeextensions&amp;#039;&amp;#039;&amp;#039;, available in Trinity libraries &lt;br /&gt;
&lt;br /&gt;
====tdeutils====&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;xmms&amp;#039;&amp;#039;&amp;#039; multimedia player (superkaramba) &lt;br /&gt;
&lt;br /&gt;
====tdemultimedia====&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;cdparanoia&amp;#039;&amp;#039;&amp;#039; digital audio extraction tool (kaudiocreator)&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;speex&amp;#039;&amp;#039;&amp;#039; an audio compression format designed for speech &lt;br /&gt;
&lt;br /&gt;
====tdenetwork====&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;xmms&amp;#039;&amp;#039;&amp;#039; multimedia player (kopete plugins)&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;ortp&amp;#039;&amp;#039;&amp;#039; real-time transport protocol stack under GPL (kopete plugins)&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;speex&amp;#039;&amp;#039;&amp;#039; audio compression format designed for speech (kopete plugins) &lt;br /&gt;
&lt;br /&gt;
====tdeedu====&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;facile&amp;#039;&amp;#039;&amp;#039; functional constraint library (kalzium)&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;ocaml&amp;#039;&amp;#039;&amp;#039; A programming language (kalzium)&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;boost&amp;#039;&amp;#039;&amp;#039; boost C++ Libraries &lt;br /&gt;
&lt;br /&gt;
====tdevelop====&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;graphviz&amp;#039;&amp;#039;&amp;#039; graph visualization &lt;br /&gt;
&lt;br /&gt;
====tdeaddons====&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;xmms&amp;#039;&amp;#039;&amp;#039; multimedia player (kicker applets) &lt;br /&gt;
&lt;br /&gt;
====tdewebdev====&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;XSLT&amp;#039;&amp;#039;&amp;#039; Extensible Stylesheet Language Transformations&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;DocBook&amp;#039;&amp;#039;&amp;#039; text markup&lt;br /&gt;
&lt;br /&gt;
====tdepim====&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;krb5&amp;#039;&amp;#039;&amp;#039; Kerberos authentication&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;ortp&amp;#039;&amp;#039;&amp;#039; real-time transport protocol stack under GPL (kopete)&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;gnokii&amp;#039;&amp;#039;&amp;#039; Nokia mobile phone support&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;opensync&amp;#039;&amp;#039;&amp;#039; data synchronization support&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;libcaldav&amp;#039;&amp;#039;&amp;#039; online calendar support, available through Trinity web site (http://www.trinitydesktop.org/relatedprojects.php)&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;libcarddav&amp;#039;&amp;#039;&amp;#039; online address book support, available through Trinity web site (http://www.trinitydesktop.org/relatedprojects.php) &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Quirks and Known Bugs==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Building Sip===&lt;br /&gt;
&lt;br /&gt;
Sip is available on many/most distros. Sip requires Qt3 to build, but won&amp;#039;t build on TQt3, which adds &lt;br /&gt;
the tqinterface layer to Qt3. More than likely down the road, Sip will be dumped or moved to Qt4 by distro &lt;br /&gt;
maintainers. All of the python-*-tqt-* packages need Sip to build. Build this TQt3 compatible version of Sip &lt;br /&gt;
and replace the stock Sip installed with the distro.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===OpenGL and nVidia===&lt;br /&gt;
&lt;br /&gt;
Building many Trinity and related packages depend upon OpenGL, such as &lt;br /&gt;
tdegraphics, k3b, koffice, tdenetwork, gwenview, digikam, etc.; &lt;br /&gt;
&lt;br /&gt;
as well as dependency packages such as &lt;br /&gt;
libkipi, libkdcraw, libkexiv2, avahi, etc. &lt;br /&gt;
&lt;br /&gt;
If any of those packages are built when the proprietary nvidia drivers are installed, the dependent package will fail to build &lt;br /&gt;
with an error about /usr/lib/libGL.la. &lt;br /&gt;
&lt;br /&gt;
That file is installed by the proprietary nvidia package. When building for personal use only, then building those packages with nvidia installed will pose no harm. &lt;br /&gt;
&lt;br /&gt;
When building packages for other users then build the entire suite of packages in a &amp;quot;clean&amp;quot; generic OpenGL environment. &lt;br /&gt;
&lt;br /&gt;
Other users might not use the proprietary nvidia package. This is true of any package that has OpenGL dependencies.&lt;br /&gt;
&lt;br /&gt;
===Tdeartwork and xhack Screensavers===&lt;br /&gt;
&lt;br /&gt;
Before building tdeartwork, install any and all xhack screensavers that might be uses, then&lt;br /&gt;
&lt;br /&gt;
cd &amp;lt;tdeartwork&amp;gt;/kscreensaver/kxsconfig/&lt;br /&gt;
./update_hacks.sh&lt;br /&gt;
&lt;br /&gt;
This will generate the TDE bindings required to allow installed screensavers show up in the Trinity &lt;br /&gt;
screensaver control panel, along with their configuration options. When adding a new screensaver the &lt;br /&gt;
update_hacks command needs to be rerun and tdeartwork recompiled/reinstalled. Distribution maintainers should &lt;br /&gt;
install all available screensavers from their distribution and then run update_hacks during the initial build &lt;br /&gt;
setup when building redistributable binary packages (see the Debian tdeartwork build scripts in GIT for an &lt;br /&gt;
example of how to do this).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Poppler Support in Tdegraphics===&lt;br /&gt;
&lt;br /&gt;
Building tdegraphics with poppler support requires building a Trinity poppler-tqt support package. With &lt;br /&gt;
many distros poppler no longer is built with Qt3 support. The Trinity poppler-tqt provides the necessary hooks for &lt;br /&gt;
tdegraphics without rebuilding poppler. The poppler-tqt dependency sources are located in the tdegraphics/kfile-plugins &lt;br /&gt;
dependencies directory and are built automatically with the tdegraphics build option -DWITH_PDF=ON.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Tdesvn/Tdesdk svn-kio Conflict===&lt;br /&gt;
&lt;br /&gt;
tdesvn and tdesdk provide conflicting files for svn-kio services. Neither package is a dependency of the other. &lt;br /&gt;
When tdesdk or tdesvn will be installed without the other, then no change is required. When both tdesdk and tdesvn &lt;br /&gt;
are to be installed, then to avoid filesystem conflicts the following files must be removed from one of the packages &lt;br /&gt;
before installing:&lt;br /&gt;
&lt;br /&gt;
  /opt/trinity/share/services/svn+file.protocol&lt;br /&gt;
  /opt/trinity/share/services/svn+http.protocol&lt;br /&gt;
  /opt/trinity/share/services/svn+https.protocol&lt;br /&gt;
  /opt/trinity/share/services/svn+ssh.protocol&lt;br /&gt;
  /opt/trinity/share/services/svn.protocol&lt;br /&gt;
&lt;br /&gt;
Since tdesvn uses the ksvn kio exclusively, while tdesdk uses the svn kio, consider removing the conflicting files &lt;br /&gt;
from tdesdk to eliminate the same services relying on multiple kio service files.&lt;/div&gt;</summary>
		<author><name>Cethyel</name></author>
	</entry>
	<entry>
		<id>https://wiki.trinitydesktop.net/index.php?title=How_to_Build_TDE_Core_Modules&amp;diff=1608</id>
		<title>How to Build TDE Core Modules</title>
		<link rel="alternate" type="text/html" href="https://wiki.trinitydesktop.net/index.php?title=How_to_Build_TDE_Core_Modules&amp;diff=1608"/>
		<updated>2021-06-09T20:43:28Z</updated>

		<summary type="html">&lt;p&gt;Cethyel: /* Basic Building Requirements */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Documentation]]&lt;br /&gt;
[[Category:Installation]]&lt;br /&gt;
[[Category:Developers]]&lt;br /&gt;
This HowTo provides detailed notes and explanations for building the Trinity Desktop Environment base&lt;br /&gt;
packages.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Introduction and Requirements==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Basic Building Requirements===&lt;br /&gt;
&lt;br /&gt;
Individual Linux distributions might have different build requirements. If these are known they will be available &lt;br /&gt;
on the Distribution Specific Builds page.&lt;br /&gt;
&lt;br /&gt;
There is an ongoing effort to convert the build process from autotools to cmake. Until the cmake conversion is &lt;br /&gt;
complete, both cmake and autotools are needed to build Trinity packages. cmake 2.8.12 or more recent is expected &lt;br /&gt;
when building with cmake.&lt;br /&gt;
&lt;br /&gt;
To build the packages still using autotools, you will need a standard autotools setup (automake, autoconf, etc.)&lt;br /&gt;
&lt;br /&gt;
You&amp;#039;ll also need a C++ compiler. g++ from the GNU Compiler Collection is the most usual, the current GIT version of Trinity has been tested &lt;br /&gt;
against versions up to and including 4.6. clang++ is also supported.&lt;br /&gt;
&lt;br /&gt;
===Other Requirements===&lt;br /&gt;
&lt;br /&gt;
(NOTE:  List compiled from old QT3/kdelibs/kde-base ebuilds--will someone please check these?)&lt;br /&gt;
&lt;br /&gt;
Most of the non-build-related mandatory dependencies for the core Trinity packages are pretty basic:&lt;br /&gt;
&lt;br /&gt;
*an X server&lt;br /&gt;
*openssl&lt;br /&gt;
*fontconfig&lt;br /&gt;
*freetype&lt;br /&gt;
*ghostscript&lt;br /&gt;
*xdg support&lt;br /&gt;
*libpng&lt;br /&gt;
*libmng&lt;br /&gt;
&lt;br /&gt;
If your Linux distribution came with any kind of graphical environment at all, you should already have&lt;br /&gt;
this stuff.&lt;br /&gt;
&lt;br /&gt;
To build tdepim, you will also need libical (standard on many distros).&lt;br /&gt;
&lt;br /&gt;
See Additional Functionality for a list of optional dependencies and what they enable.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===About QT3===&lt;br /&gt;
&lt;br /&gt;
Trinity uses the QT3 widget toolkit.  Since Trolltech, the original owners, dropped support for QT3&lt;br /&gt;
several years ago, the Trinity Project has taken over QT3&amp;#039;s maintenance.  In other words, we&amp;#039;re now&lt;br /&gt;
QT3 upstream, and you should be obtaining your QT3 sources from the Trinity package tarballs or GIT repository.&lt;br /&gt;
&lt;br /&gt;
The version of QT3 used with Trinity 3.5.13 and later incorporates numerous patches.  If you&amp;#039;re trying to &lt;br /&gt;
use an old QT3/KDE3 packaging build setup for your distribution with Trinity&amp;#039;s QT3, don&amp;#039;t be too surprised &lt;br /&gt;
if some patches don&amp;#039;t apply.  Unless the patch is distribution-specific, chances are that it&amp;#039;s been added&lt;br /&gt;
to the main source tree.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===About libart===&lt;br /&gt;
&lt;br /&gt;
libart-lgpl is another dependency package that the Trinity Project has taken over after it was &lt;br /&gt;
[https://bugzilla.gnome.org/show_bug.cgi?id=155472#c4 dropped] by its original maintainer, because &lt;br /&gt;
it needed several [http://git.trinitydesktop.org/cgit/libart-lgpl/diff/?id=150562b89b645c402f1bb837a09f8b84bf6e49ec patches] &lt;br /&gt;
to prevent crashes.  The version of libart provided by the Trinity Project includes those patches and is &lt;br /&gt;
intended to be a replacement for any version of libart currently installed by any distro. Build this patched version &lt;br /&gt;
of libart and replace the stock libart installed with the distro.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Coexisting with QT4/KDE4===&lt;br /&gt;
&lt;br /&gt;
Trinity is intended to be able to run on computers that also have KDE4 installed.  Originally, a lot of&lt;br /&gt;
Trinity applications had the same names as their KDE4 counterparts, which was problematic.  All of &lt;br /&gt;
those have been renamed.  In general, this was accomplished by changing the old KDE &amp;quot;K&amp;quot; prefix to a &lt;br /&gt;
&amp;quot;T&amp;quot; (&amp;quot;kwin&amp;quot; -&amp;gt; &amp;quot;twin&amp;quot;).  Applications that don&amp;#039;t match anything currently part of KDE4 have retained their &lt;br /&gt;
old names.&lt;br /&gt;
&lt;br /&gt;
To avoid stepping on KDE4&amp;#039;s toes, we &amp;#039;&amp;#039;strongly&amp;#039;&amp;#039; suggest picking a specific subdirectory prefix to install Trinity&lt;br /&gt;
to--the one used in these directions is $PREFIX=/opt/trinity.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Preparing the Source==&lt;br /&gt;
&lt;br /&gt;
To use the release tarballs, just untar them somewhere.&lt;br /&gt;
&lt;br /&gt;
To live dangerously and use the GIT sources, read [[Notes on GIT Sources]] first.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Building==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Suggested Build Order===&lt;br /&gt;
&lt;br /&gt;
A lot of the Trinity core packages depend on one another (in particular, everything depends on tdelibs).&lt;br /&gt;
Follow this build order to prevent problems.&lt;br /&gt;
&lt;br /&gt;
Start with the required core packages:&lt;br /&gt;
&lt;br /&gt;
#tqt3 (replaces Qt3; Qt3 without the tqtinterface layer remains available)&lt;br /&gt;
#cmake-trinity&lt;br /&gt;
#tqtinterface&lt;br /&gt;
#arts&lt;br /&gt;
#dbus-tqt&lt;br /&gt;
#dbus-1-tqt&lt;br /&gt;
#tqca-tls (Recommended but required for some applications, such as the Kopete OTR add-on)&lt;br /&gt;
#libart-lgpl&lt;br /&gt;
#avahi-tqt (Recommended but required when supporting DNS discovery services)&lt;br /&gt;
#tdelibs&lt;br /&gt;
#tdebase&lt;br /&gt;
&lt;br /&gt;
At this point, you should have a functioning TDE desktop with basic utilities (terminal, file manager,&lt;br /&gt;
text/source editors, etc.)  If you&amp;#039;re going to build tdebindings and want Python support available,&lt;br /&gt;
continue with the Python linking packages (or skip over them if you don&amp;#039;t care about Python support):&lt;br /&gt;
&lt;br /&gt;
#sip4-tqt&lt;br /&gt;
#python-tqt&lt;br /&gt;
#pytdeextensions&lt;br /&gt;
#python-trinity&lt;br /&gt;
#tqscintilla &lt;br /&gt;
&lt;br /&gt;
The following build order seems to work well for the remaining core packages when building the stable release.&lt;br /&gt;
You don&amp;#039;t have to install everything, though, unless you&amp;#039;re packaging TDE for your distribution--pick the packages &lt;br /&gt;
that suit your use case.&lt;br /&gt;
&lt;br /&gt;
#tdebindings&lt;br /&gt;
#tdeaccessibility&lt;br /&gt;
#tdeutils&lt;br /&gt;
#tdemultimedia&lt;br /&gt;
#tdenetwork&lt;br /&gt;
#tdeadmin&lt;br /&gt;
#tdeartwork&lt;br /&gt;
#tdegames&lt;br /&gt;
#tdetoys&lt;br /&gt;
#tdeedu&lt;br /&gt;
#tdegraphics&lt;br /&gt;
#tdepim&lt;br /&gt;
#tdesdk (Build tdesdk after installing tdepim. tdepim provides libkcal (bugzilla) hooks for tdesdk.)&lt;br /&gt;
#tdevelop (Build tdevelop after tdesdk. tdesdk provides cvs support for tdevelop.)&lt;br /&gt;
#tdeaddons &lt;br /&gt;
&lt;br /&gt;
Once that&amp;#039;s done, you may want to add [[How to Build Extra Applications|some extra applications]] on top.&lt;br /&gt;
&lt;br /&gt;
===Building Packages with cmake===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====List of Packages Building with cmake====&lt;br /&gt;
&lt;br /&gt;
cmake is the newer, easier, and more maintainable build system the Trinity Project is in the process of porting TDE source to.&lt;br /&gt;
&lt;br /&gt;
The list of modules maintained as an [https://mirror.git.trinitydesktop.org/gitea/TDE/tde/issues/9 issue #9 in the TGW] indicates which core and dependency packages have already been converted, and their autotools build scripts are no longer maintained. Some other packages are in the process of conversion, but do not have complete cmake build scripts yet. Build everything not in the list above with autotools.&lt;br /&gt;
&lt;br /&gt;
Read the notes section below for individual package requirements before trying to build anything.&lt;br /&gt;
&lt;br /&gt;
====Performing a cmake Build====&lt;br /&gt;
&lt;br /&gt;
The command listing below is only an example.  You will wish to edit the exports if your distribution&lt;br /&gt;
puts things in unusual locations or if you wish to install to somewhere other than /opt/trinity (tqtinterface&lt;br /&gt;
has special requirements--see the Notes).  Not all exports will be needed on all systems.&lt;br /&gt;
&lt;br /&gt;
 export PREFIX=/opt/trinity&lt;br /&gt;
 export SYSCONFDIR=/etc/trinity&lt;br /&gt;
 export LIBDIR=/opt/trinity/lib&lt;br /&gt;
 export MANDIR=/opt/trinity/man&lt;br /&gt;
 export QTDIR=/opt/trinity/lib/qt3-3.3.8.d&lt;br /&gt;
 export PATH=/opt/trinity/qt3-3.3.8.d/bin:/opt/trinity/bin:$PATH&lt;br /&gt;
 export LD_LIBRARY_PATH=/opt/trinity/lib:/opt/trinity/lib/trinity:$LD_LIBRARY_PATH&lt;br /&gt;
 export PKG_CONFIG_PATH=:/opt/trinity/lib/pkgconfig:/opt/trinity/qt3-3.3.8.d/lib/pkgconfig:$PKG_CONFIG_PATH&lt;br /&gt;
 # Enable only one of the following:&lt;br /&gt;
 # export DEBUG_AUTOTOOL_OPT=&amp;quot;--disable-debug&amp;quot;&lt;br /&gt;
 export DEBUG_CMAKE_OPT=&amp;quot;&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
  cmake path/to/trinity/module \&lt;br /&gt;
    -DCMAKE_C_FLAGS:STRING=&amp;quot;$CPUOPTIONS&amp;quot; \&lt;br /&gt;
    -DCMAKE_CXX_FLAGS:STRING=&amp;quot;$CPUOPTIONS $DEBUG_CMAKE_OPT&amp;quot; \&lt;br /&gt;
    -DCMAKE_INSTALL_PREFIX=${PREFIX} \&lt;br /&gt;
    -DSYSCONF_INSTALL_DIR=${SYSCONFDIR} \&lt;br /&gt;
    -DLIB_SUFFIX=${LIBDIRSUFFIX} \&lt;br /&gt;
    -DMAN_INSTALL_DIR=${MANDIR} \&lt;br /&gt;
    -DBUILD_ALL=ON&lt;br /&gt;
  make VERBOSE=1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Notes====&lt;br /&gt;
&lt;br /&gt;
*Until the cmake migration is fully completed, tqtinterface should be built to install with a $PREFIX of /usr rather than /opt/trinity, even if you are installing everything else to /opt/trinity.&lt;br /&gt;
&lt;br /&gt;
*tqtinterface requires the following additional QT-related build option:&lt;br /&gt;
&lt;br /&gt;
 -DQT_VERSION=3&lt;br /&gt;
&lt;br /&gt;
*arts and tdelibs execute compiled binaries as part of the build process. Therefore they need to have -DCMAKE_SKIP_RPATH=&amp;quot;OFF&amp;quot; set. All other modules do not need the RPATH set.&lt;br /&gt;
&lt;br /&gt;
*When building on 64-bit, the following (T)Qt3 configuration option might need to be explicitly declared in some distro build scripts:&lt;br /&gt;
&lt;br /&gt;
 -platform linux-g++-64 (rather than linux-g++ (notice the dash!))&lt;br /&gt;
&lt;br /&gt;
*If class constructor issues surface during the build, please post the error to the trinity-users list.&lt;br /&gt;
&lt;br /&gt;
===Building Packages with Autoconf===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Introduction====&lt;br /&gt;
&lt;br /&gt;
If the package you&amp;#039;re trying to build is on the list of those that will build with cmake, try that first, because &lt;br /&gt;
its autotools files will be unmaintained, bit-rotted, and possibly outright broken.&lt;br /&gt;
&lt;br /&gt;
Please read the notes section below for individual package requirements before trying to build anything.&lt;br /&gt;
&lt;br /&gt;
For those packages that still need to be built with autotools, the following steps must be run for each affected &lt;br /&gt;
Trinity module, including tarball snapshots.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Regenerate Autoconf/Automake files====&lt;br /&gt;
&lt;br /&gt;
cd to the desired module to build, then run:&lt;br /&gt;
&lt;br /&gt;
 cp -Rp &amp;lt;path to your system&amp;#039;s libtool.m4 file&amp;gt; admin/libtool.m4.in&lt;br /&gt;
 cp -Rp &amp;lt;path to your system&amp;#039;s ltmain.sh file&amp;gt; admin/ltmain.sh&lt;br /&gt;
 make -f admin/Makefile.common&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Configure and Build====&lt;br /&gt;
&lt;br /&gt;
 export PREFIX=/opt/trinity&lt;br /&gt;
 export SYSCONFDIR=/etc/trinity&lt;br /&gt;
 export LIBDIR=/opt/trinity/lib&lt;br /&gt;
 export MANDIR=/opt/trinity/man&lt;br /&gt;
 export QTDIR=/opt/trinity/lib/qt3-3.3.8.d&lt;br /&gt;
 export PATH=/opt/trinity/qt3-3.3.8.d/bin:/opt/trinity/bin:$PATH&lt;br /&gt;
 export LD_LIBRARY_PATH=/opt/trinity/lib:/opt/trinity/lib/trinity:$LD_LIBRARY_PATH&lt;br /&gt;
 export PKG_CONFIG_PATH=:/opt/trinity/lib/pkgconfig:/opt/trinity/qt3-3.3.8.d/lib/pkgconfig:$PKG_CONFIG_PATH&lt;br /&gt;
 # Enable only one of the following:&lt;br /&gt;
 # export DEBUG_AUTOTOOL_OPT=&amp;quot;--enable-debug=full&amp;quot;&lt;br /&gt;
 export DEBUG_AUTOTOOL_OPT=&amp;quot;--disable-debug&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
  CFLAGS=$CPUOPT \&lt;br /&gt;
  CXXFLAGS=$CPUOPT \&lt;br /&gt;
  ./configure \&lt;br /&gt;
    --prefix=${PREFIX} \&lt;br /&gt;
    --sysconfdir=${SYSCONFDIR} \&lt;br /&gt;
    --libdir=${LIBDIR} \&lt;br /&gt;
    --mandir=${MANDIR} \&lt;br /&gt;
    --with-qt-dir=${QTDIR} \&lt;br /&gt;
    --with-qt-includes=${QTDIR}/include \&lt;br /&gt;
    --with-qt-libraries=${QTDIR}/lib \&lt;br /&gt;
    $DEBUG_AUTOTOOL_OPT&lt;br /&gt;
&lt;br /&gt;
View the Distribution Specific Builds page for additional configure options.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Notes====&lt;br /&gt;
&lt;br /&gt;
*Certain modules will not build across multiple cores in parallel. That is, with a &amp;quot;make -j&amp;quot; flag set to anything greater than 1. These packages are:&lt;br /&gt;
**tdebindings (some people have no problems with this package and parallel processing)&lt;br /&gt;
**tdemultimedia (some people have no problems with this package and parallel processing) &lt;br /&gt;
&lt;br /&gt;
*Not well documented anywhere, but when building with automake several packages need the --enable-closure configure option:&lt;br /&gt;
**tdeaccessibility&lt;br /&gt;
**tdeaddons&lt;br /&gt;
**tdeadmin&lt;br /&gt;
**tdebindings&lt;br /&gt;
**tdeedu&lt;br /&gt;
**tdegames&lt;br /&gt;
**tdemultimedia&lt;br /&gt;
**tdesdk&lt;br /&gt;
&lt;br /&gt;
*When building on 64-bit, the following (T)Qt3 configuration option might need to be explicitly declared in some distro build scripts:&lt;br /&gt;
&lt;br /&gt;
 -platform linux=g++-64 (rather than linux-g++ (notice the dash!))&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Build Times===&lt;br /&gt;
&lt;br /&gt;
Building Trinity requires time and patience. Build times vary. Here are some guidelines from building &lt;br /&gt;
Trinity 3.5.12 on a dual core 2.3 GHz AM2 with 4GB of RAM, using tmpfs, 7200 rpm SATA II hard drives; &lt;br /&gt;
with Amarok, Firefox, Konsole, Konqueror, Kate, and other various apps often running concurrently. Compile &lt;br /&gt;
times will be faster without such overhead, but likely will be longer when building with support package hooks.&lt;br /&gt;
Packages using cmake will build faster than those still stuck on autotools.&lt;br /&gt;
&lt;br /&gt;
*tqtinterface: 2 minutes&lt;br /&gt;
*arts: 4 minutes&lt;br /&gt;
*tdelibs: 44 minutes&lt;br /&gt;
*tdebase: 33 minutes&lt;br /&gt;
*tdebindings: 36 minutes&lt;br /&gt;
*tdeaccessibility: 5 minutes&lt;br /&gt;
*tdeutils: 8 minutes&lt;br /&gt;
*tdemultimedia: 24 minutes&lt;br /&gt;
*tdenetwork: 23 minutes&lt;br /&gt;
*tdeadmin: 4 minutes&lt;br /&gt;
*tdeartwork: 3 minutes&lt;br /&gt;
*tdegames: 8 minutes&lt;br /&gt;
*tdetoys: 2 minutes&lt;br /&gt;
*tdeedu: 15 minutes&lt;br /&gt;
*tdegraphics: 17 minutes&lt;br /&gt;
*tdesdk: 14 minutes&lt;br /&gt;
*tdevelop: 27 minutes&lt;br /&gt;
*tdeaddons: 7 minutes&lt;br /&gt;
*tdewebdev: 12 minutes&lt;br /&gt;
*tdepim: 63 minutes &lt;br /&gt;
&lt;br /&gt;
Approximate total time: 5 hours 51 minutes&lt;br /&gt;
&lt;br /&gt;
Time to a functional system (basic desktop): 1 hour 23 minutes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Installing==&lt;br /&gt;
&lt;br /&gt;
The command is the same regardless of whether your package was built with cmake or autotools:&lt;br /&gt;
&lt;br /&gt;
 make install || exit 1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Additional Functionality==&lt;br /&gt;
&lt;br /&gt;
Certain Trinity packages gain additional functionality when compiled with additional dependencies available.&lt;br /&gt;
Also, we maintain some libraries which provide purely optional functionality.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Optional Trinity Libraries===&lt;br /&gt;
&lt;br /&gt;
None of these Trinity libraries are required but all provide additional functionality for a variety of packages. &lt;br /&gt;
These libraries must be built and installed before any packages using these libraries can take advantage of the &lt;br /&gt;
additional functionality.&lt;br /&gt;
&lt;br /&gt;
*libkipi: required by kipi-plugins&lt;br /&gt;
*kipi-plugins: several high-end image viewers such as gwenview and digikam&lt;br /&gt;
*libkdcraw: several image viewers and graphics apps, such as chalk and digikam&lt;br /&gt;
*libkexiv2: several image viewers&lt;br /&gt;
*libksquirrel: required by ksquirrel (TDE swiss-army-knife for graphic file formats, also supports medical image formats if xmedcon is provided)&lt;br /&gt;
*libtqt-perl: adept add-on&lt;br /&gt;
*mlt: not required or supported at this time&lt;br /&gt;
*mlt++: not required or supported at this time&lt;br /&gt;
*pytdeextensions: replacement for PyQt3 and PyKDE3, and used by apps such as tdebindings and tde-guidance&lt;br /&gt;
*python-trinity: replacement for PyQt3 and PyKDE3, and used by apps such as tdebindings and tde-guidance &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===List of Optional Dependencies by Trinity Package===&lt;br /&gt;
&lt;br /&gt;
====tdelibs====&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;avahi&amp;#039;&amp;#039;&amp;#039; DNS discovery&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;avahi-tqt&amp;#039;&amp;#039;&amp;#039; Trinity TQt layer for avahi, available in Trinity libraries&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;hspell&amp;#039;&amp;#039;&amp;#039; Hebrew spell checking&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;krb5&amp;#039;&amp;#039;&amp;#039; Kerberos authentication&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;openexr&amp;#039;&amp;#039;&amp;#039; EXR image format &lt;br /&gt;
&lt;br /&gt;
====tdebase====&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;avahi&amp;#039;&amp;#039;&amp;#039; DNS discovery&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;avahi-tqt&amp;#039;&amp;#039;&amp;#039; Trinity TQt layer for avahi, available in Trinity libraries&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;krb5&amp;#039;&amp;#039;&amp;#039; Kerberos authentication&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;openexr&amp;#039;&amp;#039;&amp;#039; EXR image format&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;GraphicsMagick&amp;#039;&amp;#039;&amp;#039; image filters &lt;br /&gt;
&lt;br /&gt;
====tdebindings====&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;Ruby&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;JRE&amp;#039;&amp;#039;&amp;#039; Java Runtime Environment&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;JDK&amp;#039;&amp;#039;&amp;#039; Java Development Kit&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;Python&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;python-trinity&amp;#039;&amp;#039;&amp;#039;, available in Trinity libraries&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;pytdeextensions&amp;#039;&amp;#039;&amp;#039;, available in Trinity libraries &lt;br /&gt;
&lt;br /&gt;
====tdeutils====&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;xmms&amp;#039;&amp;#039;&amp;#039; multimedia player (superkaramba) &lt;br /&gt;
&lt;br /&gt;
====tdemultimedia====&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;cdparanoia&amp;#039;&amp;#039;&amp;#039; digital audio extraction tool (kaudiocreator)&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;speex&amp;#039;&amp;#039;&amp;#039; an audio compression format designed for speech &lt;br /&gt;
&lt;br /&gt;
====tdenetwork====&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;xmms&amp;#039;&amp;#039;&amp;#039; multimedia player (kopete plugins)&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;ortp&amp;#039;&amp;#039;&amp;#039; real-time transport protocol stack under GPL (kopete plugins)&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;speex&amp;#039;&amp;#039;&amp;#039; audio compression format designed for speech (kopete plugins) &lt;br /&gt;
&lt;br /&gt;
====tdeedu====&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;facile&amp;#039;&amp;#039;&amp;#039; functional constraint library (kalzium)&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;ocaml&amp;#039;&amp;#039;&amp;#039; A programming language (kalzium)&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;boost&amp;#039;&amp;#039;&amp;#039; boost C++ Libraries &lt;br /&gt;
&lt;br /&gt;
====tdevelop====&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;graphviz&amp;#039;&amp;#039;&amp;#039; graph visualization &lt;br /&gt;
&lt;br /&gt;
====tdeaddons====&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;xmms&amp;#039;&amp;#039;&amp;#039; multimedia player (kicker applets) &lt;br /&gt;
&lt;br /&gt;
====tdewebdev====&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;XSLT&amp;#039;&amp;#039;&amp;#039; Extensible Stylesheet Language Transformations&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;DocBook&amp;#039;&amp;#039;&amp;#039; text markup&lt;br /&gt;
&lt;br /&gt;
====tdepim====&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;krb5&amp;#039;&amp;#039;&amp;#039; Kerberos authentication&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;ortp&amp;#039;&amp;#039;&amp;#039; real-time transport protocol stack under GPL (kopete)&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;gnokii&amp;#039;&amp;#039;&amp;#039; Nokia mobile phone support&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;opensync&amp;#039;&amp;#039;&amp;#039; data synchronization support&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;libcaldav&amp;#039;&amp;#039;&amp;#039; online calendar support, available through Trinity web site (http://www.trinitydesktop.org/relatedprojects.php)&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;libcarddav&amp;#039;&amp;#039;&amp;#039; online address book support, available through Trinity web site (http://www.trinitydesktop.org/relatedprojects.php) &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Quirks and Known Bugs==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Building Sip===&lt;br /&gt;
&lt;br /&gt;
Sip is available on many/most distros. Sip requires Qt3 to build, but won&amp;#039;t build on TQt3, which adds &lt;br /&gt;
the tqinterface layer to Qt3. More than likely down the road, Sip will be dumped or moved to Qt4 by distro &lt;br /&gt;
maintainers. All of the python-*-tqt-* packages need Sip to build. Build this TQt3 compatible version of Sip &lt;br /&gt;
and replace the stock Sip installed with the distro.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===OpenGL and nVidia===&lt;br /&gt;
&lt;br /&gt;
Building many Trinity and related packages depend upon OpenGL, such as &lt;br /&gt;
tdegraphics, k3b, koffice, tdenetwork, gwenview, digikam, etc.; &lt;br /&gt;
&lt;br /&gt;
as well as dependency packages such as &lt;br /&gt;
libkipi, libkdcraw, libkexiv2, avahi, etc. &lt;br /&gt;
&lt;br /&gt;
If any of those packages are built when the proprietary nvidia drivers are installed, the dependent package will fail to build &lt;br /&gt;
with an error about /usr/lib/libGL.la. &lt;br /&gt;
&lt;br /&gt;
That file is installed by the proprietary nvidia package. When building for personal use only, then building those packages with nvidia installed will pose no harm. &lt;br /&gt;
&lt;br /&gt;
When building packages for other users then build the entire suite of packages in a &amp;quot;clean&amp;quot; generic OpenGL environment. &lt;br /&gt;
&lt;br /&gt;
Other users might not use the proprietary nvidia package. This is true of any package that has OpenGL dependencies.&lt;br /&gt;
&lt;br /&gt;
===Tdeartwork and xhack Screensavers===&lt;br /&gt;
&lt;br /&gt;
Before building tdeartwork, install any and all xhack screensavers that might be uses, then&lt;br /&gt;
&lt;br /&gt;
cd &amp;lt;tdeartwork&amp;gt;/kscreensaver/kxsconfig/&lt;br /&gt;
./update_hacks.sh&lt;br /&gt;
&lt;br /&gt;
This will generate the TDE bindings required to allow installed screensavers show up in the Trinity &lt;br /&gt;
screensaver control panel, along with their configuration options. When adding a new screensaver the &lt;br /&gt;
update_hacks command needs to be rerun and tdeartwork recompiled/reinstalled. Distribution maintainers should &lt;br /&gt;
install all available screensavers from their distribution and then run update_hacks during the initial build &lt;br /&gt;
setup when building redistributable binary packages (see the Debian tdeartwork build scripts in GIT for an &lt;br /&gt;
example of how to do this).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Poppler Support in Tdegraphics===&lt;br /&gt;
&lt;br /&gt;
Building tdegraphics with poppler support requires building a Trinity poppler-tqt support package. With &lt;br /&gt;
many distros poppler no longer is built with Qt3 support. The Trinity poppler-tqt provides the necessary hooks for &lt;br /&gt;
tdegraphics without rebuilding poppler. The poppler-tqt dependency sources are located in the tdegraphics/kfile-plugins &lt;br /&gt;
dependencies directory and are built automatically with the tdegraphics build option -DWITH_PDF=ON.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Tdesvn/Tdesdk svn-kio Conflict===&lt;br /&gt;
&lt;br /&gt;
tdesvn and tdesdk provide conflicting files for svn-kio services. Neither package is a dependency of the other. &lt;br /&gt;
When tdesdk or tdesvn will be installed without the other, then no change is required. When both tdesdk and tdesvn &lt;br /&gt;
are to be installed, then to avoid filesystem conflicts the following files must be removed from one of the packages &lt;br /&gt;
before installing:&lt;br /&gt;
&lt;br /&gt;
  /opt/trinity/share/services/svn+file.protocol&lt;br /&gt;
  /opt/trinity/share/services/svn+http.protocol&lt;br /&gt;
  /opt/trinity/share/services/svn+https.protocol&lt;br /&gt;
  /opt/trinity/share/services/svn+ssh.protocol&lt;br /&gt;
  /opt/trinity/share/services/svn.protocol&lt;br /&gt;
&lt;br /&gt;
Since tdesvn uses the ksvn kio exclusively, while tdesdk uses the svn kio, consider removing the conflicting files &lt;br /&gt;
from tdesdk to eliminate the same services relying on multiple kio service files.&lt;/div&gt;</summary>
		<author><name>Cethyel</name></author>
	</entry>
	<entry>
		<id>https://wiki.trinitydesktop.net/index.php?title=How_to_Build_TDE_Core_Modules&amp;diff=1607</id>
		<title>How to Build TDE Core Modules</title>
		<link rel="alternate" type="text/html" href="https://wiki.trinitydesktop.net/index.php?title=How_to_Build_TDE_Core_Modules&amp;diff=1607"/>
		<updated>2021-06-07T20:33:42Z</updated>

		<summary type="html">&lt;p&gt;Cethyel: /* Suggested Build Order */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Documentation]]&lt;br /&gt;
[[Category:Installation]]&lt;br /&gt;
[[Category:Developers]]&lt;br /&gt;
This HowTo provides detailed notes and explanations for building the Trinity Desktop Environment base&lt;br /&gt;
packages.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Introduction and Requirements==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Basic Building Requirements===&lt;br /&gt;
&lt;br /&gt;
Individual Linux distributions might have different build requirements. If these are known they will be available &lt;br /&gt;
on the Distribution Specific Builds page.&lt;br /&gt;
&lt;br /&gt;
There is an ongoing effort to convert the build process from autotools to cmake. Until the cmake conversion is &lt;br /&gt;
complete, both cmake and autotools are needed to build Trinity packages. cmake 2.8.4 or more recent is expected &lt;br /&gt;
when building with cmake.&lt;br /&gt;
&lt;br /&gt;
To build the packages still using autotools, you will need a standard autotools setup (automake, autoconf, etc.)&lt;br /&gt;
&lt;br /&gt;
You&amp;#039;ll also need a C++ compiler. GCC/G++ is the most usual, and the current GIT version of Trinity has been tested &lt;br /&gt;
against versions up to and including 4.6.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Other Requirements===&lt;br /&gt;
&lt;br /&gt;
(NOTE:  List compiled from old QT3/kdelibs/kde-base ebuilds--will someone please check these?)&lt;br /&gt;
&lt;br /&gt;
Most of the non-build-related mandatory dependencies for the core Trinity packages are pretty basic:&lt;br /&gt;
&lt;br /&gt;
*an X server&lt;br /&gt;
*openssl&lt;br /&gt;
*fontconfig&lt;br /&gt;
*freetype&lt;br /&gt;
*ghostscript&lt;br /&gt;
*xdg support&lt;br /&gt;
*libpng&lt;br /&gt;
*libmng&lt;br /&gt;
&lt;br /&gt;
If your Linux distribution came with any kind of graphical environment at all, you should already have&lt;br /&gt;
this stuff.&lt;br /&gt;
&lt;br /&gt;
To build tdepim, you will also need libical (standard on many distros).&lt;br /&gt;
&lt;br /&gt;
See Additional Functionality for a list of optional dependencies and what they enable.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===About QT3===&lt;br /&gt;
&lt;br /&gt;
Trinity uses the QT3 widget toolkit.  Since Trolltech, the original owners, dropped support for QT3&lt;br /&gt;
several years ago, the Trinity Project has taken over QT3&amp;#039;s maintenance.  In other words, we&amp;#039;re now&lt;br /&gt;
QT3 upstream, and you should be obtaining your QT3 sources from the Trinity package tarballs or GIT repository.&lt;br /&gt;
&lt;br /&gt;
The version of QT3 used with Trinity 3.5.13 and later incorporates numerous patches.  If you&amp;#039;re trying to &lt;br /&gt;
use an old QT3/KDE3 packaging build setup for your distribution with Trinity&amp;#039;s QT3, don&amp;#039;t be too surprised &lt;br /&gt;
if some patches don&amp;#039;t apply.  Unless the patch is distribution-specific, chances are that it&amp;#039;s been added&lt;br /&gt;
to the main source tree.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===About libart===&lt;br /&gt;
&lt;br /&gt;
libart-lgpl is another dependency package that the Trinity Project has taken over after it was &lt;br /&gt;
[https://bugzilla.gnome.org/show_bug.cgi?id=155472#c4 dropped] by its original maintainer, because &lt;br /&gt;
it needed several [http://git.trinitydesktop.org/cgit/libart-lgpl/diff/?id=150562b89b645c402f1bb837a09f8b84bf6e49ec patches] &lt;br /&gt;
to prevent crashes.  The version of libart provided by the Trinity Project includes those patches and is &lt;br /&gt;
intended to be a replacement for any version of libart currently installed by any distro. Build this patched version &lt;br /&gt;
of libart and replace the stock libart installed with the distro.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Coexisting with QT4/KDE4===&lt;br /&gt;
&lt;br /&gt;
Trinity is intended to be able to run on computers that also have KDE4 installed.  Originally, a lot of&lt;br /&gt;
Trinity applications had the same names as their KDE4 counterparts, which was problematic.  All of &lt;br /&gt;
those have been renamed.  In general, this was accomplished by changing the old KDE &amp;quot;K&amp;quot; prefix to a &lt;br /&gt;
&amp;quot;T&amp;quot; (&amp;quot;kwin&amp;quot; -&amp;gt; &amp;quot;twin&amp;quot;).  Applications that don&amp;#039;t match anything currently part of KDE4 have retained their &lt;br /&gt;
old names.&lt;br /&gt;
&lt;br /&gt;
To avoid stepping on KDE4&amp;#039;s toes, we &amp;#039;&amp;#039;strongly&amp;#039;&amp;#039; suggest picking a specific subdirectory prefix to install Trinity&lt;br /&gt;
to--the one used in these directions is $PREFIX=/opt/trinity.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Preparing the Source==&lt;br /&gt;
&lt;br /&gt;
To use the release tarballs, just untar them somewhere.&lt;br /&gt;
&lt;br /&gt;
To live dangerously and use the GIT sources, read [[Notes on GIT Sources]] first.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Building==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Suggested Build Order===&lt;br /&gt;
&lt;br /&gt;
A lot of the Trinity core packages depend on one another (in particular, everything depends on tdelibs).&lt;br /&gt;
Follow this build order to prevent problems.&lt;br /&gt;
&lt;br /&gt;
Start with the required core packages:&lt;br /&gt;
&lt;br /&gt;
#tqt3 (replaces Qt3; Qt3 without the tqtinterface layer remains available)&lt;br /&gt;
#cmake-trinity&lt;br /&gt;
#tqtinterface&lt;br /&gt;
#arts&lt;br /&gt;
#dbus-tqt&lt;br /&gt;
#dbus-1-tqt&lt;br /&gt;
#tqca-tls (Recommended but required for some applications, such as the Kopete OTR add-on)&lt;br /&gt;
#libart-lgpl&lt;br /&gt;
#avahi-tqt (Recommended but required when supporting DNS discovery services)&lt;br /&gt;
#tdelibs&lt;br /&gt;
#tdebase&lt;br /&gt;
&lt;br /&gt;
At this point, you should have a functioning TDE desktop with basic utilities (terminal, file manager,&lt;br /&gt;
text/source editors, etc.)  If you&amp;#039;re going to build tdebindings and want Python support available,&lt;br /&gt;
continue with the Python linking packages (or skip over them if you don&amp;#039;t care about Python support):&lt;br /&gt;
&lt;br /&gt;
#sip4-tqt&lt;br /&gt;
#python-tqt&lt;br /&gt;
#pytdeextensions&lt;br /&gt;
#python-trinity&lt;br /&gt;
#tqscintilla &lt;br /&gt;
&lt;br /&gt;
The following build order seems to work well for the remaining core packages when building the stable release.&lt;br /&gt;
You don&amp;#039;t have to install everything, though, unless you&amp;#039;re packaging TDE for your distribution--pick the packages &lt;br /&gt;
that suit your use case.&lt;br /&gt;
&lt;br /&gt;
#tdebindings&lt;br /&gt;
#tdeaccessibility&lt;br /&gt;
#tdeutils&lt;br /&gt;
#tdemultimedia&lt;br /&gt;
#tdenetwork&lt;br /&gt;
#tdeadmin&lt;br /&gt;
#tdeartwork&lt;br /&gt;
#tdegames&lt;br /&gt;
#tdetoys&lt;br /&gt;
#tdeedu&lt;br /&gt;
#tdegraphics&lt;br /&gt;
#tdepim&lt;br /&gt;
#tdesdk (Build tdesdk after installing tdepim. tdepim provides libkcal (bugzilla) hooks for tdesdk.)&lt;br /&gt;
#tdevelop (Build tdevelop after tdesdk. tdesdk provides cvs support for tdevelop.)&lt;br /&gt;
#tdeaddons &lt;br /&gt;
&lt;br /&gt;
Once that&amp;#039;s done, you may want to add [[How to Build Extra Applications|some extra applications]] on top.&lt;br /&gt;
&lt;br /&gt;
===Building Packages with cmake===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====List of Packages Building with cmake====&lt;br /&gt;
&lt;br /&gt;
cmake is the newer, easier, and more maintainable build system the Trinity Project is in the process of porting TDE source to.&lt;br /&gt;
&lt;br /&gt;
The list of modules maintained as an [https://mirror.git.trinitydesktop.org/gitea/TDE/tde/issues/9 issue #9 in the TGW] indicates which core and dependency packages have already been converted, and their autotools build scripts are no longer maintained. Some other packages are in the process of conversion, but do not have complete cmake build scripts yet. Build everything not in the list above with autotools.&lt;br /&gt;
&lt;br /&gt;
Read the notes section below for individual package requirements before trying to build anything.&lt;br /&gt;
&lt;br /&gt;
====Performing a cmake Build====&lt;br /&gt;
&lt;br /&gt;
The command listing below is only an example.  You will wish to edit the exports if your distribution&lt;br /&gt;
puts things in unusual locations or if you wish to install to somewhere other than /opt/trinity (tqtinterface&lt;br /&gt;
has special requirements--see the Notes).  Not all exports will be needed on all systems.&lt;br /&gt;
&lt;br /&gt;
 export PREFIX=/opt/trinity&lt;br /&gt;
 export SYSCONFDIR=/etc/trinity&lt;br /&gt;
 export LIBDIR=/opt/trinity/lib&lt;br /&gt;
 export MANDIR=/opt/trinity/man&lt;br /&gt;
 export QTDIR=/opt/trinity/lib/qt3-3.3.8.d&lt;br /&gt;
 export PATH=/opt/trinity/qt3-3.3.8.d/bin:/opt/trinity/bin:$PATH&lt;br /&gt;
 export LD_LIBRARY_PATH=/opt/trinity/lib:/opt/trinity/lib/trinity:$LD_LIBRARY_PATH&lt;br /&gt;
 export PKG_CONFIG_PATH=:/opt/trinity/lib/pkgconfig:/opt/trinity/qt3-3.3.8.d/lib/pkgconfig:$PKG_CONFIG_PATH&lt;br /&gt;
 # Enable only one of the following:&lt;br /&gt;
 # export DEBUG_AUTOTOOL_OPT=&amp;quot;--disable-debug&amp;quot;&lt;br /&gt;
 export DEBUG_CMAKE_OPT=&amp;quot;&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
  cmake path/to/trinity/module \&lt;br /&gt;
    -DCMAKE_C_FLAGS:STRING=&amp;quot;$CPUOPTIONS&amp;quot; \&lt;br /&gt;
    -DCMAKE_CXX_FLAGS:STRING=&amp;quot;$CPUOPTIONS $DEBUG_CMAKE_OPT&amp;quot; \&lt;br /&gt;
    -DCMAKE_INSTALL_PREFIX=${PREFIX} \&lt;br /&gt;
    -DSYSCONF_INSTALL_DIR=${SYSCONFDIR} \&lt;br /&gt;
    -DLIB_SUFFIX=${LIBDIRSUFFIX} \&lt;br /&gt;
    -DMAN_INSTALL_DIR=${MANDIR} \&lt;br /&gt;
    -DBUILD_ALL=ON&lt;br /&gt;
  make VERBOSE=1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Notes====&lt;br /&gt;
&lt;br /&gt;
*Until the cmake migration is fully completed, tqtinterface should be built to install with a $PREFIX of /usr rather than /opt/trinity, even if you are installing everything else to /opt/trinity.&lt;br /&gt;
&lt;br /&gt;
*tqtinterface requires the following additional QT-related build option:&lt;br /&gt;
&lt;br /&gt;
 -DQT_VERSION=3&lt;br /&gt;
&lt;br /&gt;
*arts and tdelibs execute compiled binaries as part of the build process. Therefore they need to have -DCMAKE_SKIP_RPATH=&amp;quot;OFF&amp;quot; set. All other modules do not need the RPATH set.&lt;br /&gt;
&lt;br /&gt;
*When building on 64-bit, the following (T)Qt3 configuration option might need to be explicitly declared in some distro build scripts:&lt;br /&gt;
&lt;br /&gt;
 -platform linux-g++-64 (rather than linux-g++ (notice the dash!))&lt;br /&gt;
&lt;br /&gt;
*If class constructor issues surface during the build, please post the error to the trinity-users list.&lt;br /&gt;
&lt;br /&gt;
===Building Packages with Autoconf===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Introduction====&lt;br /&gt;
&lt;br /&gt;
If the package you&amp;#039;re trying to build is on the list of those that will build with cmake, try that first, because &lt;br /&gt;
its autotools files will be unmaintained, bit-rotted, and possibly outright broken.&lt;br /&gt;
&lt;br /&gt;
Please read the notes section below for individual package requirements before trying to build anything.&lt;br /&gt;
&lt;br /&gt;
For those packages that still need to be built with autotools, the following steps must be run for each affected &lt;br /&gt;
Trinity module, including tarball snapshots.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Regenerate Autoconf/Automake files====&lt;br /&gt;
&lt;br /&gt;
cd to the desired module to build, then run:&lt;br /&gt;
&lt;br /&gt;
 cp -Rp &amp;lt;path to your system&amp;#039;s libtool.m4 file&amp;gt; admin/libtool.m4.in&lt;br /&gt;
 cp -Rp &amp;lt;path to your system&amp;#039;s ltmain.sh file&amp;gt; admin/ltmain.sh&lt;br /&gt;
 make -f admin/Makefile.common&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Configure and Build====&lt;br /&gt;
&lt;br /&gt;
 export PREFIX=/opt/trinity&lt;br /&gt;
 export SYSCONFDIR=/etc/trinity&lt;br /&gt;
 export LIBDIR=/opt/trinity/lib&lt;br /&gt;
 export MANDIR=/opt/trinity/man&lt;br /&gt;
 export QTDIR=/opt/trinity/lib/qt3-3.3.8.d&lt;br /&gt;
 export PATH=/opt/trinity/qt3-3.3.8.d/bin:/opt/trinity/bin:$PATH&lt;br /&gt;
 export LD_LIBRARY_PATH=/opt/trinity/lib:/opt/trinity/lib/trinity:$LD_LIBRARY_PATH&lt;br /&gt;
 export PKG_CONFIG_PATH=:/opt/trinity/lib/pkgconfig:/opt/trinity/qt3-3.3.8.d/lib/pkgconfig:$PKG_CONFIG_PATH&lt;br /&gt;
 # Enable only one of the following:&lt;br /&gt;
 # export DEBUG_AUTOTOOL_OPT=&amp;quot;--enable-debug=full&amp;quot;&lt;br /&gt;
 export DEBUG_AUTOTOOL_OPT=&amp;quot;--disable-debug&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
  CFLAGS=$CPUOPT \&lt;br /&gt;
  CXXFLAGS=$CPUOPT \&lt;br /&gt;
  ./configure \&lt;br /&gt;
    --prefix=${PREFIX} \&lt;br /&gt;
    --sysconfdir=${SYSCONFDIR} \&lt;br /&gt;
    --libdir=${LIBDIR} \&lt;br /&gt;
    --mandir=${MANDIR} \&lt;br /&gt;
    --with-qt-dir=${QTDIR} \&lt;br /&gt;
    --with-qt-includes=${QTDIR}/include \&lt;br /&gt;
    --with-qt-libraries=${QTDIR}/lib \&lt;br /&gt;
    $DEBUG_AUTOTOOL_OPT&lt;br /&gt;
&lt;br /&gt;
View the Distribution Specific Builds page for additional configure options.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Notes====&lt;br /&gt;
&lt;br /&gt;
*Certain modules will not build across multiple cores in parallel. That is, with a &amp;quot;make -j&amp;quot; flag set to anything greater than 1. These packages are:&lt;br /&gt;
**tdebindings (some people have no problems with this package and parallel processing)&lt;br /&gt;
**tdemultimedia (some people have no problems with this package and parallel processing) &lt;br /&gt;
&lt;br /&gt;
*Not well documented anywhere, but when building with automake several packages need the --enable-closure configure option:&lt;br /&gt;
**tdeaccessibility&lt;br /&gt;
**tdeaddons&lt;br /&gt;
**tdeadmin&lt;br /&gt;
**tdebindings&lt;br /&gt;
**tdeedu&lt;br /&gt;
**tdegames&lt;br /&gt;
**tdemultimedia&lt;br /&gt;
**tdesdk&lt;br /&gt;
&lt;br /&gt;
*When building on 64-bit, the following (T)Qt3 configuration option might need to be explicitly declared in some distro build scripts:&lt;br /&gt;
&lt;br /&gt;
 -platform linux=g++-64 (rather than linux-g++ (notice the dash!))&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Build Times===&lt;br /&gt;
&lt;br /&gt;
Building Trinity requires time and patience. Build times vary. Here are some guidelines from building &lt;br /&gt;
Trinity 3.5.12 on a dual core 2.3 GHz AM2 with 4GB of RAM, using tmpfs, 7200 rpm SATA II hard drives; &lt;br /&gt;
with Amarok, Firefox, Konsole, Konqueror, Kate, and other various apps often running concurrently. Compile &lt;br /&gt;
times will be faster without such overhead, but likely will be longer when building with support package hooks.&lt;br /&gt;
Packages using cmake will build faster than those still stuck on autotools.&lt;br /&gt;
&lt;br /&gt;
*tqtinterface: 2 minutes&lt;br /&gt;
*arts: 4 minutes&lt;br /&gt;
*tdelibs: 44 minutes&lt;br /&gt;
*tdebase: 33 minutes&lt;br /&gt;
*tdebindings: 36 minutes&lt;br /&gt;
*tdeaccessibility: 5 minutes&lt;br /&gt;
*tdeutils: 8 minutes&lt;br /&gt;
*tdemultimedia: 24 minutes&lt;br /&gt;
*tdenetwork: 23 minutes&lt;br /&gt;
*tdeadmin: 4 minutes&lt;br /&gt;
*tdeartwork: 3 minutes&lt;br /&gt;
*tdegames: 8 minutes&lt;br /&gt;
*tdetoys: 2 minutes&lt;br /&gt;
*tdeedu: 15 minutes&lt;br /&gt;
*tdegraphics: 17 minutes&lt;br /&gt;
*tdesdk: 14 minutes&lt;br /&gt;
*tdevelop: 27 minutes&lt;br /&gt;
*tdeaddons: 7 minutes&lt;br /&gt;
*tdewebdev: 12 minutes&lt;br /&gt;
*tdepim: 63 minutes &lt;br /&gt;
&lt;br /&gt;
Approximate total time: 5 hours 51 minutes&lt;br /&gt;
&lt;br /&gt;
Time to a functional system (basic desktop): 1 hour 23 minutes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Installing==&lt;br /&gt;
&lt;br /&gt;
The command is the same regardless of whether your package was built with cmake or autotools:&lt;br /&gt;
&lt;br /&gt;
 make install || exit 1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Additional Functionality==&lt;br /&gt;
&lt;br /&gt;
Certain Trinity packages gain additional functionality when compiled with additional dependencies available.&lt;br /&gt;
Also, we maintain some libraries which provide purely optional functionality.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Optional Trinity Libraries===&lt;br /&gt;
&lt;br /&gt;
None of these Trinity libraries are required but all provide additional functionality for a variety of packages. &lt;br /&gt;
These libraries must be built and installed before any packages using these libraries can take advantage of the &lt;br /&gt;
additional functionality.&lt;br /&gt;
&lt;br /&gt;
*libkipi: required by kipi-plugins&lt;br /&gt;
*kipi-plugins: several high-end image viewers such as gwenview and digikam&lt;br /&gt;
*libkdcraw: several image viewers and graphics apps, such as chalk and digikam&lt;br /&gt;
*libkexiv2: several image viewers&lt;br /&gt;
*libksquirrel: required by ksquirrel (TDE swiss-army-knife for graphic file formats, also supports medical image formats if xmedcon is provided)&lt;br /&gt;
*libtqt-perl: adept add-on&lt;br /&gt;
*mlt: not required or supported at this time&lt;br /&gt;
*mlt++: not required or supported at this time&lt;br /&gt;
*pytdeextensions: replacement for PyQt3 and PyKDE3, and used by apps such as tdebindings and tde-guidance&lt;br /&gt;
*python-trinity: replacement for PyQt3 and PyKDE3, and used by apps such as tdebindings and tde-guidance &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===List of Optional Dependencies by Trinity Package===&lt;br /&gt;
&lt;br /&gt;
====tdelibs====&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;avahi&amp;#039;&amp;#039;&amp;#039; DNS discovery&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;avahi-tqt&amp;#039;&amp;#039;&amp;#039; Trinity TQt layer for avahi, available in Trinity libraries&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;hspell&amp;#039;&amp;#039;&amp;#039; Hebrew spell checking&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;krb5&amp;#039;&amp;#039;&amp;#039; Kerberos authentication&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;openexr&amp;#039;&amp;#039;&amp;#039; EXR image format &lt;br /&gt;
&lt;br /&gt;
====tdebase====&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;avahi&amp;#039;&amp;#039;&amp;#039; DNS discovery&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;avahi-tqt&amp;#039;&amp;#039;&amp;#039; Trinity TQt layer for avahi, available in Trinity libraries&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;krb5&amp;#039;&amp;#039;&amp;#039; Kerberos authentication&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;openexr&amp;#039;&amp;#039;&amp;#039; EXR image format&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;GraphicsMagick&amp;#039;&amp;#039;&amp;#039; image filters &lt;br /&gt;
&lt;br /&gt;
====tdebindings====&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;Ruby&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;JRE&amp;#039;&amp;#039;&amp;#039; Java Runtime Environment&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;JDK&amp;#039;&amp;#039;&amp;#039; Java Development Kit&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;Python&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;python-trinity&amp;#039;&amp;#039;&amp;#039;, available in Trinity libraries&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;pytdeextensions&amp;#039;&amp;#039;&amp;#039;, available in Trinity libraries &lt;br /&gt;
&lt;br /&gt;
====tdeutils====&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;xmms&amp;#039;&amp;#039;&amp;#039; multimedia player (superkaramba) &lt;br /&gt;
&lt;br /&gt;
====tdemultimedia====&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;cdparanoia&amp;#039;&amp;#039;&amp;#039; digital audio extraction tool (kaudiocreator)&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;speex&amp;#039;&amp;#039;&amp;#039; an audio compression format designed for speech &lt;br /&gt;
&lt;br /&gt;
====tdenetwork====&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;xmms&amp;#039;&amp;#039;&amp;#039; multimedia player (kopete plugins)&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;ortp&amp;#039;&amp;#039;&amp;#039; real-time transport protocol stack under GPL (kopete plugins)&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;speex&amp;#039;&amp;#039;&amp;#039; audio compression format designed for speech (kopete plugins) &lt;br /&gt;
&lt;br /&gt;
====tdeedu====&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;facile&amp;#039;&amp;#039;&amp;#039; functional constraint library (kalzium)&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;ocaml&amp;#039;&amp;#039;&amp;#039; A programming language (kalzium)&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;boost&amp;#039;&amp;#039;&amp;#039; boost C++ Libraries &lt;br /&gt;
&lt;br /&gt;
====tdevelop====&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;graphviz&amp;#039;&amp;#039;&amp;#039; graph visualization &lt;br /&gt;
&lt;br /&gt;
====tdeaddons====&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;xmms&amp;#039;&amp;#039;&amp;#039; multimedia player (kicker applets) &lt;br /&gt;
&lt;br /&gt;
====tdewebdev====&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;XSLT&amp;#039;&amp;#039;&amp;#039; Extensible Stylesheet Language Transformations&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;DocBook&amp;#039;&amp;#039;&amp;#039; text markup&lt;br /&gt;
&lt;br /&gt;
====tdepim====&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;krb5&amp;#039;&amp;#039;&amp;#039; Kerberos authentication&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;ortp&amp;#039;&amp;#039;&amp;#039; real-time transport protocol stack under GPL (kopete)&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;gnokii&amp;#039;&amp;#039;&amp;#039; Nokia mobile phone support&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;opensync&amp;#039;&amp;#039;&amp;#039; data synchronization support&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;libcaldav&amp;#039;&amp;#039;&amp;#039; online calendar support, available through Trinity web site (http://www.trinitydesktop.org/relatedprojects.php)&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;libcarddav&amp;#039;&amp;#039;&amp;#039; online address book support, available through Trinity web site (http://www.trinitydesktop.org/relatedprojects.php) &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Quirks and Known Bugs==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Building Sip===&lt;br /&gt;
&lt;br /&gt;
Sip is available on many/most distros. Sip requires Qt3 to build, but won&amp;#039;t build on TQt3, which adds &lt;br /&gt;
the tqinterface layer to Qt3. More than likely down the road, Sip will be dumped or moved to Qt4 by distro &lt;br /&gt;
maintainers. All of the python-*-tqt-* packages need Sip to build. Build this TQt3 compatible version of Sip &lt;br /&gt;
and replace the stock Sip installed with the distro.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===OpenGL and nVidia===&lt;br /&gt;
&lt;br /&gt;
Building many Trinity and related packages depend upon OpenGL, such as &lt;br /&gt;
tdegraphics, k3b, koffice, tdenetwork, gwenview, digikam, etc.; &lt;br /&gt;
&lt;br /&gt;
as well as dependency packages such as &lt;br /&gt;
libkipi, libkdcraw, libkexiv2, avahi, etc. &lt;br /&gt;
&lt;br /&gt;
If any of those packages are built when the proprietary nvidia drivers are installed, the dependent package will fail to build &lt;br /&gt;
with an error about /usr/lib/libGL.la. &lt;br /&gt;
&lt;br /&gt;
That file is installed by the proprietary nvidia package. When building for personal use only, then building those packages with nvidia installed will pose no harm. &lt;br /&gt;
&lt;br /&gt;
When building packages for other users then build the entire suite of packages in a &amp;quot;clean&amp;quot; generic OpenGL environment. &lt;br /&gt;
&lt;br /&gt;
Other users might not use the proprietary nvidia package. This is true of any package that has OpenGL dependencies.&lt;br /&gt;
&lt;br /&gt;
===Tdeartwork and xhack Screensavers===&lt;br /&gt;
&lt;br /&gt;
Before building tdeartwork, install any and all xhack screensavers that might be uses, then&lt;br /&gt;
&lt;br /&gt;
cd &amp;lt;tdeartwork&amp;gt;/kscreensaver/kxsconfig/&lt;br /&gt;
./update_hacks.sh&lt;br /&gt;
&lt;br /&gt;
This will generate the TDE bindings required to allow installed screensavers show up in the Trinity &lt;br /&gt;
screensaver control panel, along with their configuration options. When adding a new screensaver the &lt;br /&gt;
update_hacks command needs to be rerun and tdeartwork recompiled/reinstalled. Distribution maintainers should &lt;br /&gt;
install all available screensavers from their distribution and then run update_hacks during the initial build &lt;br /&gt;
setup when building redistributable binary packages (see the Debian tdeartwork build scripts in GIT for an &lt;br /&gt;
example of how to do this).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Poppler Support in Tdegraphics===&lt;br /&gt;
&lt;br /&gt;
Building tdegraphics with poppler support requires building a Trinity poppler-tqt support package. With &lt;br /&gt;
many distros poppler no longer is built with Qt3 support. The Trinity poppler-tqt provides the necessary hooks for &lt;br /&gt;
tdegraphics without rebuilding poppler. The poppler-tqt dependency sources are located in the tdegraphics/kfile-plugins &lt;br /&gt;
dependencies directory and are built automatically with the tdegraphics build option -DWITH_PDF=ON.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Tdesvn/Tdesdk svn-kio Conflict===&lt;br /&gt;
&lt;br /&gt;
tdesvn and tdesdk provide conflicting files for svn-kio services. Neither package is a dependency of the other. &lt;br /&gt;
When tdesdk or tdesvn will be installed without the other, then no change is required. When both tdesdk and tdesvn &lt;br /&gt;
are to be installed, then to avoid filesystem conflicts the following files must be removed from one of the packages &lt;br /&gt;
before installing:&lt;br /&gt;
&lt;br /&gt;
  /opt/trinity/share/services/svn+file.protocol&lt;br /&gt;
  /opt/trinity/share/services/svn+http.protocol&lt;br /&gt;
  /opt/trinity/share/services/svn+https.protocol&lt;br /&gt;
  /opt/trinity/share/services/svn+ssh.protocol&lt;br /&gt;
  /opt/trinity/share/services/svn.protocol&lt;br /&gt;
&lt;br /&gt;
Since tdesvn uses the ksvn kio exclusively, while tdesdk uses the svn kio, consider removing the conflicting files &lt;br /&gt;
from tdesdk to eliminate the same services relying on multiple kio service files.&lt;/div&gt;</summary>
		<author><name>Cethyel</name></author>
	</entry>
	<entry>
		<id>https://wiki.trinitydesktop.net/index.php?title=RedHat_Trinity_Repository_Installation_Instructions&amp;diff=1581</id>
		<title>RedHat Trinity Repository Installation Instructions</title>
		<link rel="alternate" type="text/html" href="https://wiki.trinitydesktop.net/index.php?title=RedHat_Trinity_Repository_Installation_Instructions&amp;diff=1581"/>
		<updated>2021-05-02T20:02:08Z</updated>

		<summary type="html">&lt;p&gt;Cethyel: /* 2. Download and install the configuration package for your distribution: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==RedHat Trinity Repository Installation Instructions==&lt;br /&gt;
[[Category:Documentation]]&lt;br /&gt;
[[Category:Installation]]&lt;br /&gt;
&lt;br /&gt;
===1. Configure the supplementary 3rdparty repositories===&lt;br /&gt;
&lt;br /&gt;
Install EPEL repository: http://fedoraproject.org/wiki/EPEL&lt;br /&gt;
&lt;br /&gt;
Install RPMFUSION repository: http://rpmfusion.org/Configuration&lt;br /&gt;
&lt;br /&gt;
===2. Download and install the configuration package for your distribution:===&lt;br /&gt;
&lt;br /&gt;
====For RHEL/CentOS 6 (R14.0.10)====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;rpm -Uvh http://mirror.ppa.trinitydesktop.org/trinity/rpm/el6/trinity-r14/RPMS/noarch/trinity-repo-14.0.10-1.el6.noarch.rpm&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====For RHEL/CentOS 7 (R14.0.10)====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;rpm -Uvh http://mirror.ppa.trinitydesktop.org/trinity/rpm/el7/trinity-r14/RPMS/noarch/trinity-repo-14.0.10-1.el7.noarch.rpm&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====For RHEL/CentOS 8 (R14.0.10)====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;rpm -Uvh http://mirror.ppa.trinitydesktop.org/trinity/rpm/el8/trinity-r14/RPMS/noarch/trinity-repo-14.0.10-1.el8.noarch.rpm&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===3. Install the Trinity desktop environment===&lt;br /&gt;
&lt;br /&gt;
Installing the minimum, basic desktop (about 200 MB disk space required):&lt;br /&gt;
&lt;br /&gt;
 yum install trinity-tdebase&lt;br /&gt;
&lt;br /&gt;
Installing the entire Trinity desktop (about 600 MB disk space required):&lt;br /&gt;
&lt;br /&gt;
 yum install trinity-desktop&lt;br /&gt;
&lt;br /&gt;
Installing the entire Trinity desktop + all Trinity supported applications (about 1200 MB disk space required):&lt;br /&gt;
&lt;br /&gt;
 yum install trinity-desktop-all&lt;br /&gt;
&lt;br /&gt;
===4. (Optional) Install your locale translation package, e.g for French translation===&lt;br /&gt;
&lt;br /&gt;
 yum install trinity-tde-i18n-French&lt;br /&gt;
&lt;br /&gt;
Koffice translations:&lt;br /&gt;
&lt;br /&gt;
 yum install trinity-koffice-i18n-French&lt;br /&gt;
&lt;br /&gt;
K3B translations:&lt;br /&gt;
&lt;br /&gt;
 yum install trinity-k3b-i18n-French&lt;br /&gt;
&lt;br /&gt;
Note: you can obtain a list of available TDE packages with the following command:&lt;br /&gt;
&lt;br /&gt;
 yum search trinity-&lt;br /&gt;
&lt;br /&gt;
===5. (Optional) Sets TDM as the default display manager===&lt;br /&gt;
&lt;br /&gt;
====For RHEL / CentOS 6====&lt;br /&gt;
&lt;br /&gt;
Edit or create file: /etc/sysconfig/desktop&lt;br /&gt;
Add/modify the line:&lt;br /&gt;
&lt;br /&gt;
 DISPLAYMANAGER=/opt/trinity/bin/tdm&lt;br /&gt;
&lt;br /&gt;
Save the file then reboot your computer.&lt;br /&gt;
&lt;br /&gt;
====For RHEL / CentOS 7 and 8====&lt;br /&gt;
&lt;br /&gt;
You must disable your current Display Manager in systemd.&lt;br /&gt;
E.g:&lt;br /&gt;
 systemctl disable gdm.service&lt;br /&gt;
 systemctl disable kdm.service&lt;br /&gt;
 systemctl disable xdm.service&lt;br /&gt;
&lt;br /&gt;
Then enable TDM service:&lt;br /&gt;
 systemctl enable tdm.service&lt;br /&gt;
&lt;br /&gt;
Then reboot your computer.&lt;br /&gt;
&lt;br /&gt;
===7. (Optional) Install missing XINE codecs===&lt;br /&gt;
&lt;br /&gt;
By default, the Xine libraries provided with RHEL/CentOS cannot play some formats like MPEG1/MPEG2.&lt;br /&gt;
As a result, Kaffeine cannot playback video DVD (among other problems).&lt;br /&gt;
In order to add the missing codecs, you must install the &amp;quot;xine-lib-extra-freeworld&amp;quot; package, by typing the following command.&lt;br /&gt;
&lt;br /&gt;
====For CentOS 6 (i686):====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;yum install http://li.nux.ro/download/nux/dextop/el6/i386/xine-lib-extras-freeworld-1.1.18.1-1.el6.nux.i686.rpm&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====For CentOS 6 (x86_64):====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;yum install http://li.nux.ro/download/nux/dextop/el6/x86_64/xine-lib-extras-freeworld-1.1.18.1-1.el6.nux.x86_64.rpm&amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>Cethyel</name></author>
	</entry>
	<entry>
		<id>https://wiki.trinitydesktop.net/index.php?title=Fedora_Trinity_Repository_Installation_Instructions&amp;diff=1580</id>
		<title>Fedora Trinity Repository Installation Instructions</title>
		<link rel="alternate" type="text/html" href="https://wiki.trinitydesktop.net/index.php?title=Fedora_Trinity_Repository_Installation_Instructions&amp;diff=1580"/>
		<updated>2021-05-01T18:10:14Z</updated>

		<summary type="html">&lt;p&gt;Cethyel: /* 2. Download the repo configuration file corresponding to your distribution (as root user) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Fedora Trinity Repository Installation Instructions==&lt;br /&gt;
[[Category:Documentation]]&lt;br /&gt;
[[Category:Installation]]&lt;br /&gt;
&lt;br /&gt;
===1. Configure the supplementary 3rdparty repositories===&lt;br /&gt;
&lt;br /&gt;
Install RPMFUSION repository: [http://rpmfusion.org/Configuration http://rpmfusion.org/Configuration]&lt;br /&gt;
&lt;br /&gt;
===2. Download the repo configuration file corresponding to your distribution (as root user)===&lt;br /&gt;
&lt;br /&gt;
====For Fedora 32 (R14.0.10)====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;rpm -Uvh http://mirror.ppa.trinitydesktop.org/trinity/rpm/f32/trinity-r14/RPMS/noarch/trinity-repo-14.0.10-1.fc32.noarch.rpm&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====For Fedora 33 (R14.0.10)====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;rpm -Uvh http://mirror.ppa.trinitydesktop.org/trinity/rpm/f33/trinity-r14/RPMS/noarch/trinity-repo-14.0.10-1.fc33.noarch.rpm&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===3. Install the Trinity desktop environment===&lt;br /&gt;
&lt;br /&gt;
Choose one of the following scenarios.&lt;br /&gt;
&lt;br /&gt;
Install the minimalistic Trinity Desktop Environment:&lt;br /&gt;
&lt;br /&gt;
 dnf install trinity-tdebase&lt;br /&gt;
&lt;br /&gt;
Install the entire Trinity Desktop Environment, without applications:&lt;br /&gt;
&lt;br /&gt;
 dnf install trinity-desktop&lt;br /&gt;
&lt;br /&gt;
Install the entire Trinity Desktop Environment, with all applications:&lt;br /&gt;
&lt;br /&gt;
 dnf install trinity-desktop-all&lt;br /&gt;
&lt;br /&gt;
===4. (Optional) Install your locale translation package, e.g for French translation===&lt;br /&gt;
&lt;br /&gt;
 dnf install trinity-tde-i18n-French&lt;br /&gt;
&lt;br /&gt;
Koffice translations:&lt;br /&gt;
&lt;br /&gt;
 dnf install trinity-koffice-i18n-French&lt;br /&gt;
&lt;br /&gt;
K3B translations:&lt;br /&gt;
&lt;br /&gt;
 dnf install trinity-k3b-i18n-French&lt;br /&gt;
&lt;br /&gt;
Gwenview translations (all languages):&lt;br /&gt;
&lt;br /&gt;
 dnf install trinity-gwenview-i18n&lt;br /&gt;
&lt;br /&gt;
Note: you can obtain a list of available TDE packages with the following command:&lt;br /&gt;
&lt;br /&gt;
 dnf search trinity-&lt;br /&gt;
&lt;br /&gt;
===5. (Optional) Sets TDM as the default display manager===&lt;br /&gt;
&lt;br /&gt;
You must disable your current DM (e.g. KDM, GDM, XDM ...) service and then enable the TDM service.&lt;br /&gt;
&lt;br /&gt;
 systemctl disable gdm.service&lt;br /&gt;
 systemctl disable kdm.service&lt;br /&gt;
 systemctl disable xdm.service&lt;br /&gt;
 systemctl disable lightdm.service&lt;br /&gt;
 systemctl disable lxdm.service&lt;br /&gt;
 systemctl enable tdm.service&lt;br /&gt;
&lt;br /&gt;
Then reboot your computer.&lt;/div&gt;</summary>
		<author><name>Cethyel</name></author>
	</entry>
	<entry>
		<id>https://wiki.trinitydesktop.net/index.php?title=Category:Developers&amp;diff=1547</id>
		<title>Category:Developers</title>
		<link rel="alternate" type="text/html" href="https://wiki.trinitydesktop.net/index.php?title=Category:Developers&amp;diff=1547"/>
		<updated>2021-03-20T03:15:13Z</updated>

		<summary type="html">&lt;p&gt;Cethyel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This category contains development-related and API documentation for the Trinity Desktop Environment.&lt;br /&gt;
&lt;br /&gt;
==Building and Distributing Trinity==&lt;br /&gt;
&lt;br /&gt;
[[Nightly Builds|Installing Nightly Builds]]&lt;br /&gt;
&lt;br /&gt;
[[How to Build TDE Core Modules]]&lt;br /&gt;
&lt;br /&gt;
[[How to Build Extra Applications]]&lt;br /&gt;
&lt;br /&gt;
[[Package Building QA Check List]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Developing for Trinity==&lt;br /&gt;
&lt;br /&gt;
[[TDE Gitea Workspace]]&lt;br /&gt;
&lt;br /&gt;
[[TDE Weblate Translation Workspace]]&lt;br /&gt;
&lt;br /&gt;
[[Project GIT Information]]&lt;br /&gt;
&lt;br /&gt;
[[Project RoadMap]]&lt;br /&gt;
&lt;br /&gt;
[[DevelopmentSpecifications]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Tutorials and Documentation for QT and TQT===&lt;br /&gt;
&lt;br /&gt;
[[Understanding the TQT Interface]]&lt;br /&gt;
&lt;br /&gt;
[https://www.trinitydesktop.org/docs/qt3 QT3 API Documentation]&lt;br /&gt;
&lt;br /&gt;
[https://www.trinitydesktop.org/docs/qt4 QT4 API Documentation]&lt;br /&gt;
&lt;br /&gt;
[https://www.trinitydesktop.org/docs/qt4/porting4.html Qt3 to Qt4 porting guide]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Tutorials and Documentation for Trinity===&lt;br /&gt;
&lt;br /&gt;
[https://www.trinitydesktop.org/docs/trinity/index.html Trinity API Documentation]&lt;br /&gt;
&lt;br /&gt;
[[Sample Applications]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Tutorials and Documentation for KDE3===&lt;br /&gt;
&lt;br /&gt;
Information in this section should be used with care, as it was not written for the current version of Trinity.  However, much of it still applies.  If you know of any other interesting KDE3 documentation or tutorials, please add them to this section.&lt;br /&gt;
&lt;br /&gt;
[http://api.kde.org/3.5-api/kdelibs-apidocs/index.html KDE 3.5 API Reference]&lt;br /&gt;
&lt;br /&gt;
The original API reference, at kde.org&lt;br /&gt;
&lt;br /&gt;
[[KDE3 Architecture]]&lt;br /&gt;
&lt;br /&gt;
The architecture pages detail how everything was originally supposed to fit together.  Ported from the KDE wiki.&lt;br /&gt;
&lt;br /&gt;
[[KDE3 Tutorials]]&lt;br /&gt;
&lt;br /&gt;
On everything from using kdevelop to writing dcop-aware applications to creating window themes.  Ported from the KDE wiki.&lt;br /&gt;
&lt;br /&gt;
[[KDE3 Filesystem Hierarchy]]&lt;br /&gt;
&lt;br /&gt;
Ported from the KDE wiki and verified against a working KDE3 instance.&lt;br /&gt;
&lt;br /&gt;
[http://www.kde.org/info/requirements/3.5.php KDE3 Compilation Requirements]&lt;br /&gt;
&lt;br /&gt;
Mandatory and optional packages for building KDE3, most of which are still used by Trinity.&lt;br /&gt;
&lt;br /&gt;
[[Building KDE 3.5]]&lt;br /&gt;
&lt;br /&gt;
Build instructions for using the pre-cmake system.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===GUI Programming with Python: QT Edition===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Boudewijn Rempt - Copyright © 2001 by Commandprompt, Inc  &lt;br /&gt;
&lt;br /&gt;
The main topic of this book is [http://nclairon.free.fr/documentation/pyqt/book1.htm application development using PyQt.]&lt;/div&gt;</summary>
		<author><name>Cethyel</name></author>
	</entry>
	<entry>
		<id>https://wiki.trinitydesktop.net/index.php?title=Fedora_Trinity_Repository_Installation_Instructions&amp;diff=1530</id>
		<title>Fedora Trinity Repository Installation Instructions</title>
		<link rel="alternate" type="text/html" href="https://wiki.trinitydesktop.net/index.php?title=Fedora_Trinity_Repository_Installation_Instructions&amp;diff=1530"/>
		<updated>2021-03-03T12:53:27Z</updated>

		<summary type="html">&lt;p&gt;Cethyel: /* 2. Download the repo configuration file corresponding to your distribution (as root user) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Fedora Trinity Repository Installation Instructions==&lt;br /&gt;
[[Category:Documentation]]&lt;br /&gt;
[[Category:Installation]]&lt;br /&gt;
&lt;br /&gt;
===1. Configure the supplementary 3rdparty repositories===&lt;br /&gt;
&lt;br /&gt;
Install RPMFUSION repository: [http://rpmfusion.org/Configuration http://rpmfusion.org/Configuration]&lt;br /&gt;
&lt;br /&gt;
===2. Download the repo configuration file corresponding to your distribution (as root user)===&lt;br /&gt;
&lt;br /&gt;
====For Fedora 30 (R14.0.7)====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;rpm -Uvh http://mirror.ppa.trinitydesktop.org/trinity/rpm/f30/trinity-r14/RPMS/noarch/trinity-repo-14.0.7-1.fc30.noarch.rpm&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====For Fedora 31 (R14.0.9)====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;rpm -Uvh http://mirror.ppa.trinitydesktop.org/trinity/rpm/f31/trinity-r14/RPMS/noarch/trinity-repo-14.0.9-1.fc31.noarch.rpm&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====For Fedora 32 (R14.0.9)====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;rpm -Uvh http://mirror.ppa.trinitydesktop.org/trinity/rpm/f32/trinity-r14/RPMS/noarch/trinity-repo-14.0.9-1.fc32.noarch.rpm&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====For Fedora 33 (R14.0.9)====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;rpm -Uvh http://mirror.ppa.trinitydesktop.org/trinity/rpm/f33/trinity-r14/RPMS/noarch/trinity-repo-14.0.9-1.fc33.noarch.rpm&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===3. Install the Trinity desktop environment===&lt;br /&gt;
&lt;br /&gt;
Choose one of the following scenarios.&lt;br /&gt;
&lt;br /&gt;
Install the minimalistic Trinity Desktop Environment:&lt;br /&gt;
&lt;br /&gt;
 dnf install trinity-tdebase&lt;br /&gt;
&lt;br /&gt;
Install the entire Trinity Desktop Environment, without applications:&lt;br /&gt;
&lt;br /&gt;
 dnf install trinity-desktop&lt;br /&gt;
&lt;br /&gt;
Install the entire Trinity Desktop Environment, with all applications:&lt;br /&gt;
&lt;br /&gt;
 dnf install trinity-desktop-all&lt;br /&gt;
&lt;br /&gt;
===4. (Optional) Install your locale translation package, e.g for French translation===&lt;br /&gt;
&lt;br /&gt;
 dnf install trinity-tde-i18n-French&lt;br /&gt;
&lt;br /&gt;
Koffice translations:&lt;br /&gt;
&lt;br /&gt;
 dnf install trinity-koffice-i18n-French&lt;br /&gt;
&lt;br /&gt;
K3B translations:&lt;br /&gt;
&lt;br /&gt;
 dnf install trinity-k3b-i18n-French&lt;br /&gt;
&lt;br /&gt;
Gwenview translations (all languages):&lt;br /&gt;
&lt;br /&gt;
 dnf install trinity-gwenview-i18n&lt;br /&gt;
&lt;br /&gt;
Note: you can obtain a list of available TDE packages with the following command:&lt;br /&gt;
&lt;br /&gt;
 dnf search trinity-&lt;br /&gt;
&lt;br /&gt;
===5. (Optional) Sets TDM as the default display manager===&lt;br /&gt;
&lt;br /&gt;
You must disable your current DM (e.g. KDM, GDM, XDM ...) service and then enable the TDM service.&lt;br /&gt;
&lt;br /&gt;
 systemctl disable gdm.service&lt;br /&gt;
 systemctl disable kdm.service&lt;br /&gt;
 systemctl disable xdm.service&lt;br /&gt;
 systemctl disable lightdm.service&lt;br /&gt;
 systemctl disable lxdm.service&lt;br /&gt;
 systemctl enable tdm.service&lt;br /&gt;
&lt;br /&gt;
Then reboot your computer.&lt;/div&gt;</summary>
		<author><name>Cethyel</name></author>
	</entry>
	<entry>
		<id>https://wiki.trinitydesktop.net/index.php?title=Fedora_Trinity_Repository_Installation_Instructions&amp;diff=1529</id>
		<title>Fedora Trinity Repository Installation Instructions</title>
		<link rel="alternate" type="text/html" href="https://wiki.trinitydesktop.net/index.php?title=Fedora_Trinity_Repository_Installation_Instructions&amp;diff=1529"/>
		<updated>2021-03-03T12:49:51Z</updated>

		<summary type="html">&lt;p&gt;Cethyel: /* For Fedora 31 (R14.0.9) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Fedora Trinity Repository Installation Instructions==&lt;br /&gt;
[[Category:Documentation]]&lt;br /&gt;
[[Category:Installation]]&lt;br /&gt;
&lt;br /&gt;
===1. Configure the supplementary 3rdparty repositories===&lt;br /&gt;
&lt;br /&gt;
Install RPMFUSION repository: [http://rpmfusion.org/Configuration http://rpmfusion.org/Configuration]&lt;br /&gt;
&lt;br /&gt;
===2. Download the repo configuration file corresponding to your distribution (as root user)===&lt;br /&gt;
&lt;br /&gt;
====For Fedora 30 (R14.0.7)====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;rpm -Uvh http://mirror.ppa.trinitydesktop.org/trinity/rpm/f30/trinity-r14/RPMS/noarch/trinity-repo-14.0.7-1.fc30.noarch.rpm&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====For Fedora 31 (R14.0.9)====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;rpm -Uvh http://mirror.ppa.trinitydesktop.org/trinity/rpm/f31/trinity-r14/RPMS/noarch/trinity-repo-14.0.9-1.fc31.noarch.rpm&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===3. Install the Trinity desktop environment===&lt;br /&gt;
&lt;br /&gt;
Choose one of the following scenarios.&lt;br /&gt;
&lt;br /&gt;
Install the minimalistic Trinity Desktop Environment:&lt;br /&gt;
&lt;br /&gt;
 dnf install trinity-tdebase&lt;br /&gt;
&lt;br /&gt;
Install the entire Trinity Desktop Environment, without applications:&lt;br /&gt;
&lt;br /&gt;
 dnf install trinity-desktop&lt;br /&gt;
&lt;br /&gt;
Install the entire Trinity Desktop Environment, with all applications:&lt;br /&gt;
&lt;br /&gt;
 dnf install trinity-desktop-all&lt;br /&gt;
&lt;br /&gt;
===4. (Optional) Install your locale translation package, e.g for French translation===&lt;br /&gt;
&lt;br /&gt;
 dnf install trinity-tde-i18n-French&lt;br /&gt;
&lt;br /&gt;
Koffice translations:&lt;br /&gt;
&lt;br /&gt;
 dnf install trinity-koffice-i18n-French&lt;br /&gt;
&lt;br /&gt;
K3B translations:&lt;br /&gt;
&lt;br /&gt;
 dnf install trinity-k3b-i18n-French&lt;br /&gt;
&lt;br /&gt;
Gwenview translations (all languages):&lt;br /&gt;
&lt;br /&gt;
 dnf install trinity-gwenview-i18n&lt;br /&gt;
&lt;br /&gt;
Note: you can obtain a list of available TDE packages with the following command:&lt;br /&gt;
&lt;br /&gt;
 dnf search trinity-&lt;br /&gt;
&lt;br /&gt;
===5. (Optional) Sets TDM as the default display manager===&lt;br /&gt;
&lt;br /&gt;
You must disable your current DM (e.g. KDM, GDM, XDM ...) service and then enable the TDM service.&lt;br /&gt;
&lt;br /&gt;
 systemctl disable gdm.service&lt;br /&gt;
 systemctl disable kdm.service&lt;br /&gt;
 systemctl disable xdm.service&lt;br /&gt;
 systemctl disable lightdm.service&lt;br /&gt;
 systemctl disable lxdm.service&lt;br /&gt;
 systemctl enable tdm.service&lt;br /&gt;
&lt;br /&gt;
Then reboot your computer.&lt;/div&gt;</summary>
		<author><name>Cethyel</name></author>
	</entry>
	<entry>
		<id>https://wiki.trinitydesktop.net/index.php?title=RedHat_Trinity_Repository_Installation_Instructions&amp;diff=1528</id>
		<title>RedHat Trinity Repository Installation Instructions</title>
		<link rel="alternate" type="text/html" href="https://wiki.trinitydesktop.net/index.php?title=RedHat_Trinity_Repository_Installation_Instructions&amp;diff=1528"/>
		<updated>2021-03-03T12:43:43Z</updated>

		<summary type="html">&lt;p&gt;Cethyel: /* For RHEL/CentOS 8 (R14.0.9) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==RedHat Trinity Repository Installation Instructions==&lt;br /&gt;
[[Category:Documentation]]&lt;br /&gt;
[[Category:Installation]]&lt;br /&gt;
&lt;br /&gt;
===1. Configure the supplementary 3rdparty repositories===&lt;br /&gt;
&lt;br /&gt;
Install EPEL repository: http://fedoraproject.org/wiki/EPEL&lt;br /&gt;
&lt;br /&gt;
Install RPMFUSION repository: http://rpmfusion.org/Configuration&lt;br /&gt;
&lt;br /&gt;
===2. Download and install the configuration package for your distribution:===&lt;br /&gt;
&lt;br /&gt;
====For RHEL/CentOS 6 (R14.0.9)====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;rpm -Uvh http://mirror.ppa.trinitydesktop.org/trinity/rpm/el6/trinity-r14/RPMS/noarch/trinity-repo-14.0.9-1.el6.noarch.rpm&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====For RHEL/CentOS 7 (R14.0.9)====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;rpm -Uvh http://mirror.ppa.trinitydesktop.org/trinity/rpm/el7/trinity-r14/RPMS/noarch/trinity-repo-14.0.9-1.el7.noarch.rpm&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====For RHEL/CentOS 8 (R14.0.9)====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;rpm -Uvh http://mirror.ppa.trinitydesktop.org/trinity/rpm/el8/trinity-r14/RPMS/noarch/trinity-repo-14.0.9-1.el8.noarch.rpm&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===3. Install the Trinity desktop environment===&lt;br /&gt;
&lt;br /&gt;
Installing the minimum, basic desktop (about 200 MB disk space required):&lt;br /&gt;
&lt;br /&gt;
 yum install trinity-tdebase&lt;br /&gt;
&lt;br /&gt;
Installing the entire Trinity desktop (about 600 MB disk space required):&lt;br /&gt;
&lt;br /&gt;
 yum install trinity-desktop&lt;br /&gt;
&lt;br /&gt;
Installing the entire Trinity desktop + all Trinity supported applications (about 1200 MB disk space required):&lt;br /&gt;
&lt;br /&gt;
 yum install trinity-desktop-all&lt;br /&gt;
&lt;br /&gt;
===4. (Optional) Install your locale translation package, e.g for French translation===&lt;br /&gt;
&lt;br /&gt;
 yum install trinity-tde-i18n-French&lt;br /&gt;
&lt;br /&gt;
Koffice translations:&lt;br /&gt;
&lt;br /&gt;
 yum install trinity-koffice-i18n-French&lt;br /&gt;
&lt;br /&gt;
K3B translations:&lt;br /&gt;
&lt;br /&gt;
 yum install trinity-k3b-i18n-French&lt;br /&gt;
&lt;br /&gt;
Note: you can obtain a list of available TDE packages with the following command:&lt;br /&gt;
&lt;br /&gt;
 yum search trinity-&lt;br /&gt;
&lt;br /&gt;
===5. (Optional) Sets TDM as the default display manager===&lt;br /&gt;
&lt;br /&gt;
====For RHEL / CentOS 6====&lt;br /&gt;
&lt;br /&gt;
Edit or create file: /etc/sysconfig/desktop&lt;br /&gt;
Add/modify the line:&lt;br /&gt;
&lt;br /&gt;
 DISPLAYMANAGER=/opt/trinity/bin/tdm&lt;br /&gt;
&lt;br /&gt;
Save the file then reboot your computer.&lt;br /&gt;
&lt;br /&gt;
====For RHEL / CentOS 7====&lt;br /&gt;
&lt;br /&gt;
You must disable your current Display Manager in systemd.&lt;br /&gt;
E.g:&lt;br /&gt;
 systemctl disable gdm.service&lt;br /&gt;
 systemctl disable kdm.service&lt;br /&gt;
 systemctl disable xdm.service&lt;br /&gt;
&lt;br /&gt;
Then enable TDM service:&lt;br /&gt;
 systemctl enable tdm.service&lt;br /&gt;
&lt;br /&gt;
Then reboot your computer.&lt;br /&gt;
&lt;br /&gt;
===7. (Optional) Install missing XINE codecs===&lt;br /&gt;
&lt;br /&gt;
By default, the Xine libraries provided with RHEL/CentOS cannot play some formats like MPEG1/MPEG2.&lt;br /&gt;
As a result, Kaffeine cannot playback video DVD (among other problems).&lt;br /&gt;
In order to add the missing codecs, you must install the &amp;quot;xine-lib-extra-freeworld&amp;quot; package, by typing the following command.&lt;br /&gt;
&lt;br /&gt;
====For CentOS 6 (i686):====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;yum install http://li.nux.ro/download/nux/dextop/el6/i386/xine-lib-extras-freeworld-1.1.18.1-1.el6.nux.i686.rpm&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====For CentOS 6 (x86_64):====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;yum install http://li.nux.ro/download/nux/dextop/el6/x86_64/xine-lib-extras-freeworld-1.1.18.1-1.el6.nux.x86_64.rpm&amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>Cethyel</name></author>
	</entry>
	<entry>
		<id>https://wiki.trinitydesktop.net/index.php?title=RedHat_Trinity_Repository_Installation_Instructions&amp;diff=1527</id>
		<title>RedHat Trinity Repository Installation Instructions</title>
		<link rel="alternate" type="text/html" href="https://wiki.trinitydesktop.net/index.php?title=RedHat_Trinity_Repository_Installation_Instructions&amp;diff=1527"/>
		<updated>2021-03-03T12:41:27Z</updated>

		<summary type="html">&lt;p&gt;Cethyel: /* For RHEL/CentOS 7 (R14.0.9) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==RedHat Trinity Repository Installation Instructions==&lt;br /&gt;
[[Category:Documentation]]&lt;br /&gt;
[[Category:Installation]]&lt;br /&gt;
&lt;br /&gt;
===1. Configure the supplementary 3rdparty repositories===&lt;br /&gt;
&lt;br /&gt;
Install EPEL repository: http://fedoraproject.org/wiki/EPEL&lt;br /&gt;
&lt;br /&gt;
Install RPMFUSION repository: http://rpmfusion.org/Configuration&lt;br /&gt;
&lt;br /&gt;
===2. Download and install the configuration package for your distribution:===&lt;br /&gt;
&lt;br /&gt;
====For RHEL/CentOS 6 (R14.0.9)====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;rpm -Uvh http://mirror.ppa.trinitydesktop.org/trinity/rpm/el6/trinity-r14/RPMS/noarch/trinity-repo-14.0.9-1.el6.noarch.rpm&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====For RHEL/CentOS 7 (R14.0.9)====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;rpm -Uvh http://mirror.ppa.trinitydesktop.org/trinity/rpm/el7/trinity-r14/RPMS/noarch/trinity-repo-14.0.9-1.el7.noarch.rpm&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====For RHEL/CentOS 8 (R14.0.7)====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;rpm -Uvh http://mirror.ppa.trinitydesktop.org/trinity/trinity/rpm/el8/trinity-r14/RPMS/noarch/trinity-repo-14.0.7-1.el8.noarch.rpm&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===3. Install the Trinity desktop environment===&lt;br /&gt;
&lt;br /&gt;
Installing the minimum, basic desktop (about 200 MB disk space required):&lt;br /&gt;
&lt;br /&gt;
 yum install trinity-tdebase&lt;br /&gt;
&lt;br /&gt;
Installing the entire Trinity desktop (about 600 MB disk space required):&lt;br /&gt;
&lt;br /&gt;
 yum install trinity-desktop&lt;br /&gt;
&lt;br /&gt;
Installing the entire Trinity desktop + all Trinity supported applications (about 1200 MB disk space required):&lt;br /&gt;
&lt;br /&gt;
 yum install trinity-desktop-all&lt;br /&gt;
&lt;br /&gt;
===4. (Optional) Install your locale translation package, e.g for French translation===&lt;br /&gt;
&lt;br /&gt;
 yum install trinity-tde-i18n-French&lt;br /&gt;
&lt;br /&gt;
Koffice translations:&lt;br /&gt;
&lt;br /&gt;
 yum install trinity-koffice-i18n-French&lt;br /&gt;
&lt;br /&gt;
K3B translations:&lt;br /&gt;
&lt;br /&gt;
 yum install trinity-k3b-i18n-French&lt;br /&gt;
&lt;br /&gt;
Note: you can obtain a list of available TDE packages with the following command:&lt;br /&gt;
&lt;br /&gt;
 yum search trinity-&lt;br /&gt;
&lt;br /&gt;
===5. (Optional) Sets TDM as the default display manager===&lt;br /&gt;
&lt;br /&gt;
====For RHEL / CentOS 6====&lt;br /&gt;
&lt;br /&gt;
Edit or create file: /etc/sysconfig/desktop&lt;br /&gt;
Add/modify the line:&lt;br /&gt;
&lt;br /&gt;
 DISPLAYMANAGER=/opt/trinity/bin/tdm&lt;br /&gt;
&lt;br /&gt;
Save the file then reboot your computer.&lt;br /&gt;
&lt;br /&gt;
====For RHEL / CentOS 7====&lt;br /&gt;
&lt;br /&gt;
You must disable your current Display Manager in systemd.&lt;br /&gt;
E.g:&lt;br /&gt;
 systemctl disable gdm.service&lt;br /&gt;
 systemctl disable kdm.service&lt;br /&gt;
 systemctl disable xdm.service&lt;br /&gt;
&lt;br /&gt;
Then enable TDM service:&lt;br /&gt;
 systemctl enable tdm.service&lt;br /&gt;
&lt;br /&gt;
Then reboot your computer.&lt;br /&gt;
&lt;br /&gt;
===7. (Optional) Install missing XINE codecs===&lt;br /&gt;
&lt;br /&gt;
By default, the Xine libraries provided with RHEL/CentOS cannot play some formats like MPEG1/MPEG2.&lt;br /&gt;
As a result, Kaffeine cannot playback video DVD (among other problems).&lt;br /&gt;
In order to add the missing codecs, you must install the &amp;quot;xine-lib-extra-freeworld&amp;quot; package, by typing the following command.&lt;br /&gt;
&lt;br /&gt;
====For CentOS 6 (i686):====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;yum install http://li.nux.ro/download/nux/dextop/el6/i386/xine-lib-extras-freeworld-1.1.18.1-1.el6.nux.i686.rpm&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====For CentOS 6 (x86_64):====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;yum install http://li.nux.ro/download/nux/dextop/el6/x86_64/xine-lib-extras-freeworld-1.1.18.1-1.el6.nux.x86_64.rpm&amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>Cethyel</name></author>
	</entry>
	<entry>
		<id>https://wiki.trinitydesktop.net/index.php?title=RedHat_Trinity_Repository_Installation_Instructions&amp;diff=1526</id>
		<title>RedHat Trinity Repository Installation Instructions</title>
		<link rel="alternate" type="text/html" href="https://wiki.trinitydesktop.net/index.php?title=RedHat_Trinity_Repository_Installation_Instructions&amp;diff=1526"/>
		<updated>2021-03-03T12:39:50Z</updated>

		<summary type="html">&lt;p&gt;Cethyel: /* For RHEL/CentOS 6 (R14.0.7) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==RedHat Trinity Repository Installation Instructions==&lt;br /&gt;
[[Category:Documentation]]&lt;br /&gt;
[[Category:Installation]]&lt;br /&gt;
&lt;br /&gt;
===1. Configure the supplementary 3rdparty repositories===&lt;br /&gt;
&lt;br /&gt;
Install EPEL repository: http://fedoraproject.org/wiki/EPEL&lt;br /&gt;
&lt;br /&gt;
Install RPMFUSION repository: http://rpmfusion.org/Configuration&lt;br /&gt;
&lt;br /&gt;
===2. Download and install the configuration package for your distribution:===&lt;br /&gt;
&lt;br /&gt;
====For RHEL/CentOS 6 (R14.0.9)====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;rpm -Uvh http://mirror.ppa.trinitydesktop.org/trinity/rpm/el6/trinity-r14/RPMS/noarch/trinity-repo-14.0.9-1.el6.noarch.rpm&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====For RHEL/CentOS 7 (R14.0.7)====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;rpm -Uvh http://mirror.ppa.trinitydesktop.org/trinity/trinity/rpm/el7/trinity-r14/RPMS/noarch/trinity-repo-14.0.7-1.el7.noarch.rpm&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====For RHEL/CentOS 8 (R14.0.7)====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;rpm -Uvh http://mirror.ppa.trinitydesktop.org/trinity/trinity/rpm/el8/trinity-r14/RPMS/noarch/trinity-repo-14.0.7-1.el8.noarch.rpm&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===3. Install the Trinity desktop environment===&lt;br /&gt;
&lt;br /&gt;
Installing the minimum, basic desktop (about 200 MB disk space required):&lt;br /&gt;
&lt;br /&gt;
 yum install trinity-tdebase&lt;br /&gt;
&lt;br /&gt;
Installing the entire Trinity desktop (about 600 MB disk space required):&lt;br /&gt;
&lt;br /&gt;
 yum install trinity-desktop&lt;br /&gt;
&lt;br /&gt;
Installing the entire Trinity desktop + all Trinity supported applications (about 1200 MB disk space required):&lt;br /&gt;
&lt;br /&gt;
 yum install trinity-desktop-all&lt;br /&gt;
&lt;br /&gt;
===4. (Optional) Install your locale translation package, e.g for French translation===&lt;br /&gt;
&lt;br /&gt;
 yum install trinity-tde-i18n-French&lt;br /&gt;
&lt;br /&gt;
Koffice translations:&lt;br /&gt;
&lt;br /&gt;
 yum install trinity-koffice-i18n-French&lt;br /&gt;
&lt;br /&gt;
K3B translations:&lt;br /&gt;
&lt;br /&gt;
 yum install trinity-k3b-i18n-French&lt;br /&gt;
&lt;br /&gt;
Note: you can obtain a list of available TDE packages with the following command:&lt;br /&gt;
&lt;br /&gt;
 yum search trinity-&lt;br /&gt;
&lt;br /&gt;
===5. (Optional) Sets TDM as the default display manager===&lt;br /&gt;
&lt;br /&gt;
====For RHEL / CentOS 6====&lt;br /&gt;
&lt;br /&gt;
Edit or create file: /etc/sysconfig/desktop&lt;br /&gt;
Add/modify the line:&lt;br /&gt;
&lt;br /&gt;
 DISPLAYMANAGER=/opt/trinity/bin/tdm&lt;br /&gt;
&lt;br /&gt;
Save the file then reboot your computer.&lt;br /&gt;
&lt;br /&gt;
====For RHEL / CentOS 7====&lt;br /&gt;
&lt;br /&gt;
You must disable your current Display Manager in systemd.&lt;br /&gt;
E.g:&lt;br /&gt;
 systemctl disable gdm.service&lt;br /&gt;
 systemctl disable kdm.service&lt;br /&gt;
 systemctl disable xdm.service&lt;br /&gt;
&lt;br /&gt;
Then enable TDM service:&lt;br /&gt;
 systemctl enable tdm.service&lt;br /&gt;
&lt;br /&gt;
Then reboot your computer.&lt;br /&gt;
&lt;br /&gt;
===7. (Optional) Install missing XINE codecs===&lt;br /&gt;
&lt;br /&gt;
By default, the Xine libraries provided with RHEL/CentOS cannot play some formats like MPEG1/MPEG2.&lt;br /&gt;
As a result, Kaffeine cannot playback video DVD (among other problems).&lt;br /&gt;
In order to add the missing codecs, you must install the &amp;quot;xine-lib-extra-freeworld&amp;quot; package, by typing the following command.&lt;br /&gt;
&lt;br /&gt;
====For CentOS 6 (i686):====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;yum install http://li.nux.ro/download/nux/dextop/el6/i386/xine-lib-extras-freeworld-1.1.18.1-1.el6.nux.i686.rpm&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====For CentOS 6 (x86_64):====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;yum install http://li.nux.ro/download/nux/dextop/el6/x86_64/xine-lib-extras-freeworld-1.1.18.1-1.el6.nux.x86_64.rpm&amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>Cethyel</name></author>
	</entry>
	<entry>
		<id>https://wiki.trinitydesktop.net/index.php?title=KDE3_Tutorials&amp;diff=1509</id>
		<title>KDE3 Tutorials</title>
		<link rel="alternate" type="text/html" href="https://wiki.trinitydesktop.net/index.php?title=KDE3_Tutorials&amp;diff=1509"/>
		<updated>2020-11-28T17:40:01Z</updated>

		<summary type="html">&lt;p&gt;Cethyel: /* Scripting and Application Automation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Developers]]&lt;br /&gt;
[[Category:KDE3]]&lt;br /&gt;
[[Category:Tutorials]]&lt;br /&gt;
&lt;br /&gt;
Note: Some of these tutorials are only available from the Wayback Machine.  Attempts have been made to link to the last viable version, but if the document spanned multiple pages, they may not all have been crawled on that date.  We apologize for the inconvenience.&lt;br /&gt;
&lt;br /&gt;
====Getting Started====&lt;br /&gt;
Anatomy of a Simple KDE3 Designer Application: [https://www.codeproject.com/Articles/27460/Anatomy-of-a-Simple-KDE-Designer-Application] A complete beginners guide to a KDE3 application.&lt;br /&gt;
&lt;br /&gt;
KDE3 programming tutorial using KDevelop: [http://www.dazzle.plus.com/linux/KDE3/index.htm] A programming tutorial by Richard Crook.&lt;br /&gt;
&lt;br /&gt;
[[Qt Designer and KDevelop 3.0 for Beginners]] [http://women.kde.org/articles/tutorials/kdevelop3/index.html (Original Link--now dead)]: Qt is the toolkit used by the KDE project for developing graphical applications. Currently, translations are available through the original link. This paper, written by Anne-Marie Mahfouf, shows a beginner how to create a simple application using Qt Designer 3 and KDevelop 3. This tutorial is based on an application written by Jono Bacon and has been reviewed by Daniel Molkentin (for the KDevelop 2 version) and Thomas Nagy. Translations to German, Russian, French, Italian, and Romanian available at the original site. Brought to you by KDE-Women. &lt;br /&gt;
&lt;br /&gt;
[http://devel-home.kde.org/~larrosa/tutorial/index.html KDE 3.0 Tutorial]: An excellent tutorial by KDE developer Antonio Larrosa Jiménez leading you from nothing to a fairly full featured web browser. Highly recommended for KDE 3.0 developers. &lt;br /&gt;
&lt;br /&gt;
[[Programming Tutorial for KDE 3]]&lt;br /&gt;
&lt;br /&gt;
[[Makefile.am HOWTO]]: Make the KDE 3 build system work for you. This HOWTO shows you how to do most anything you would need to do to get your application to compile and install &lt;br /&gt;
&lt;br /&gt;
====Components and Plugins====&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20110131141802/http://developer.kde.org/documentation/tutorials/xmlui/preface.html KDE User Interface Tutorial (XML GUI)]: Tutorial by KDE developer Kurt Granroth showing how to convert an existing KDE application to use the new XML based user interface builder. &lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20041123015635/http://www-106.ibm.com/developerworks/linux/edu/l-dw-linuxkp1-i.html Creating KParts Components]: Tutorial on IBM DeveloperWorks, by David Faure shows developers how to create KParts components, under KDE 2 and KDE 3. &lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20100305214125/http://developer.kde.org/documentation/tutorials/developing-a-plugin-structure/index.html Developing a Plugin Structure for a KDE Application]: This tutorial will take you through all the steps needed to write a plugin structure, plus plugins for your KDE application. &lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20081222231818/http://developer.kde.org/documentation/tutorials/kfile-plugin/t1.html Providing file meta-data support with KFile plugins]: Tutorial by Brad Hards that describes how to write a meta-data plugin for your favourite file format. It is presented as an example based tutorial. &lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20100806144422/http://developer.kde.org/documentation/tutorials/components/index.html Embedded Components Tutorial]: Tutorial by KDE developer Kurt Granroth showing how to convert an existing KDE application into a component suitable for embedding in Konqueror. &lt;br /&gt;
&lt;br /&gt;
[[How to write Kontact plugins]]&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20110407033422/http://developer.kde.org/documentation/other/kcm_howto.html KConfig Module HOWTO]: A small tutorial about writing a module for the KDE Control Center. &lt;br /&gt;
&lt;br /&gt;
[[Using the KDE dock widget]]: Tutorial for creating widgets that dock to other widgets. &lt;br /&gt;
&lt;br /&gt;
[[Introduction to Get Hot New Stuff]]: An introduction to the developer-friendly network update system that allows KDE applications to fetch new application data at runtime in a user friendly manner. &lt;br /&gt;
&lt;br /&gt;
====File Access with KIO====&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20080921201511/http://www.heise.de/ct/english/01/05/242/ KIO Tutorial] [http://www.heise.de/ct/artikel/Allesfresser-284884.html (German version)]: Tutorial by KDE developers Carsten Pfeiffer and Stephan Kulow for the c&amp;#039;t Magazine, giving an introduction into the KDE IO Architecture and an example KIO Slave. &lt;br /&gt;
&lt;br /&gt;
[http://developer.kde.org/documentation/design/kde/ioslaves/index.html Using IOSlaves]: IOSlaves are the subprocesses KDE uses to fetch remote files without blocking the user interface. This document discusses how they work and how to use them. (Somewhat dated, but might still be useful). &lt;br /&gt;
&lt;br /&gt;
====Scripting and Application Automation====&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20100126055754/http://developer.kde.org/documentation/tutorials/dot/dcopiface/dcop-interface.html Creating a DCOP Interface]: This tutorial shows you how to create a DCOP interface to a KDE application. &lt;br /&gt;
&lt;br /&gt;
[https://www.ibm.com/developerworks/linux/library/l-dcop/index.html?ca=dgr-kdeml01KDEDCOP Connect KDE applications using DCOP]: IBM DeveloperWorks tutorial, shows how to use kdcop and dcop with several examples such as instantly messaging a contact in kopete when he comes online, and also how to create a simple DCOP-aware application.&lt;br /&gt;
&lt;br /&gt;
====Misc.====&lt;br /&gt;
&lt;br /&gt;
[http://www.usermode.org/docs/kwintheme.html KWin decoration styles]: Tutorial on creating decoration plugins for the KWin window manager (KDE 3.2 and later). &lt;br /&gt;
&lt;br /&gt;
[[Creating Konqueror Service Menus]]: This tutorial shows you how to create mimetype-specific actions in Konqueror&amp;#039;s context menu (aka &amp;quot;servicemenus&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
[[KMDI Tutorial]]: Creating a Multi-Document Interface program using the KMDI library and KDevelop.&lt;br /&gt;
&lt;br /&gt;
[[TDE DBus Tutorial]]: Automatically generate and use dbus interfaces, publish services.&lt;/div&gt;</summary>
		<author><name>Cethyel</name></author>
	</entry>
	<entry>
		<id>https://wiki.trinitydesktop.net/index.php?title=KDE3_Tutorials&amp;diff=1507</id>
		<title>KDE3 Tutorials</title>
		<link rel="alternate" type="text/html" href="https://wiki.trinitydesktop.net/index.php?title=KDE3_Tutorials&amp;diff=1507"/>
		<updated>2020-11-22T17:35:56Z</updated>

		<summary type="html">&lt;p&gt;Cethyel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Developers]]&lt;br /&gt;
[[Category:KDE3]]&lt;br /&gt;
[[Category:Tutorials]]&lt;br /&gt;
&lt;br /&gt;
Note: Some of these tutorials are only available from the Wayback Machine.  Attempts have been made to link to the last viable version, but if the document spanned multiple pages, they may not all have been crawled on that date.  We apologize for the inconvenience.&lt;br /&gt;
&lt;br /&gt;
====Getting Started====&lt;br /&gt;
Anatomy of a Simple KDE3 Designer Application: [https://www.codeproject.com/Articles/27460/Anatomy-of-a-Simple-KDE-Designer-Application] A complete beginners guide to a KDE3 application.&lt;br /&gt;
&lt;br /&gt;
KDE3 programming tutorial using KDevelop: [http://www.dazzle.plus.com/linux/KDE3/index.htm] A programming tutorial by Richard Crook.&lt;br /&gt;
&lt;br /&gt;
[[Qt Designer and KDevelop 3.0 for Beginners]] [http://women.kde.org/articles/tutorials/kdevelop3/index.html (Original Link--now dead)]: Qt is the toolkit used by the KDE project for developing graphical applications. Currently, translations are available through the original link. This paper, written by Anne-Marie Mahfouf, shows a beginner how to create a simple application using Qt Designer 3 and KDevelop 3. This tutorial is based on an application written by Jono Bacon and has been reviewed by Daniel Molkentin (for the KDevelop 2 version) and Thomas Nagy. Translations to German, Russian, French, Italian, and Romanian available at the original site. Brought to you by KDE-Women. &lt;br /&gt;
&lt;br /&gt;
[http://devel-home.kde.org/~larrosa/tutorial/index.html KDE 3.0 Tutorial]: An excellent tutorial by KDE developer Antonio Larrosa Jiménez leading you from nothing to a fairly full featured web browser. Highly recommended for KDE 3.0 developers. &lt;br /&gt;
&lt;br /&gt;
[[Programming Tutorial for KDE 3]]&lt;br /&gt;
&lt;br /&gt;
[[Makefile.am HOWTO]]: Make the KDE 3 build system work for you. This HOWTO shows you how to do most anything you would need to do to get your application to compile and install &lt;br /&gt;
&lt;br /&gt;
====Components and Plugins====&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20110131141802/http://developer.kde.org/documentation/tutorials/xmlui/preface.html KDE User Interface Tutorial (XML GUI)]: Tutorial by KDE developer Kurt Granroth showing how to convert an existing KDE application to use the new XML based user interface builder. &lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20041123015635/http://www-106.ibm.com/developerworks/linux/edu/l-dw-linuxkp1-i.html Creating KParts Components]: Tutorial on IBM DeveloperWorks, by David Faure shows developers how to create KParts components, under KDE 2 and KDE 3. &lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20100305214125/http://developer.kde.org/documentation/tutorials/developing-a-plugin-structure/index.html Developing a Plugin Structure for a KDE Application]: This tutorial will take you through all the steps needed to write a plugin structure, plus plugins for your KDE application. &lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20081222231818/http://developer.kde.org/documentation/tutorials/kfile-plugin/t1.html Providing file meta-data support with KFile plugins]: Tutorial by Brad Hards that describes how to write a meta-data plugin for your favourite file format. It is presented as an example based tutorial. &lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20100806144422/http://developer.kde.org/documentation/tutorials/components/index.html Embedded Components Tutorial]: Tutorial by KDE developer Kurt Granroth showing how to convert an existing KDE application into a component suitable for embedding in Konqueror. &lt;br /&gt;
&lt;br /&gt;
[[How to write Kontact plugins]]&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20110407033422/http://developer.kde.org/documentation/other/kcm_howto.html KConfig Module HOWTO]: A small tutorial about writing a module for the KDE Control Center. &lt;br /&gt;
&lt;br /&gt;
[[Using the KDE dock widget]]: Tutorial for creating widgets that dock to other widgets. &lt;br /&gt;
&lt;br /&gt;
[[Introduction to Get Hot New Stuff]]: An introduction to the developer-friendly network update system that allows KDE applications to fetch new application data at runtime in a user friendly manner. &lt;br /&gt;
&lt;br /&gt;
====File Access with KIO====&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20080921201511/http://www.heise.de/ct/english/01/05/242/ KIO Tutorial] [http://www.heise.de/ct/artikel/Allesfresser-284884.html (German version)]: Tutorial by KDE developers Carsten Pfeiffer and Stephan Kulow for the c&amp;#039;t Magazine, giving an introduction into the KDE IO Architecture and an example KIO Slave. &lt;br /&gt;
&lt;br /&gt;
[http://developer.kde.org/documentation/design/kde/ioslaves/index.html Using IOSlaves]: IOSlaves are the subprocesses KDE uses to fetch remote files without blocking the user interface. This document discusses how they work and how to use them. (Somewhat dated, but might still be useful). &lt;br /&gt;
&lt;br /&gt;
====Scripting and Application Automation====&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20100126055754/http://developer.kde.org/documentation/tutorials/dot/dcopiface/dcop-interface.html Creating a DCOP Interface]: This tutorial shows you how to create a DCOP interface to a KDE application. &lt;br /&gt;
&lt;br /&gt;
[http://www-106.ibm.com/developerworks/linux/library/l-dcop/index.html?ca=dgr-kdeml01KDEDCOP Connect KDE applications using DCOP]: IBM DeveloperWorks tutorial, shows how to use kdcop and dcop with several examples such as instantly messaging a contact in kopete when he comes online, and also how to create a simple DCOP-aware application. &lt;br /&gt;
&lt;br /&gt;
====Misc.====&lt;br /&gt;
&lt;br /&gt;
[http://www.usermode.org/docs/kwintheme.html KWin decoration styles]: Tutorial on creating decoration plugins for the KWin window manager (KDE 3.2 and later). &lt;br /&gt;
&lt;br /&gt;
[[Creating Konqueror Service Menus]]: This tutorial shows you how to create mimetype-specific actions in Konqueror&amp;#039;s context menu (aka &amp;quot;servicemenus&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
[[KMDI Tutorial]]: Creating a Multi-Document Interface program using the KMDI library and KDevelop.&lt;br /&gt;
&lt;br /&gt;
[[TDE DBus Tutorial]]: Automatically generate and use dbus interfaces, publish services.&lt;/div&gt;</summary>
		<author><name>Cethyel</name></author>
	</entry>
	<entry>
		<id>https://wiki.trinitydesktop.net/index.php?title=KDE3_Tutorials&amp;diff=1506</id>
		<title>KDE3 Tutorials</title>
		<link rel="alternate" type="text/html" href="https://wiki.trinitydesktop.net/index.php?title=KDE3_Tutorials&amp;diff=1506"/>
		<updated>2020-11-22T17:24:36Z</updated>

		<summary type="html">&lt;p&gt;Cethyel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Developers]]&lt;br /&gt;
[[Category:KDE3]]&lt;br /&gt;
[[Category:Tutorials]]&lt;br /&gt;
&lt;br /&gt;
Note: Some of these tutorials are only available from the Wayback Machine.  Attempts have been made to link to the last viable version, but if the document spanned multiple pages, they may not all have been crawled on that date.  We apologize for the inconvenience.&lt;br /&gt;
&lt;br /&gt;
====Getting Started====&lt;br /&gt;
KDE3 programming tutorial using KDevelop: [http://www.dazzle.plus.com/linux/KDE3/index.htm] A programming tutorial by Richard Crook.&lt;br /&gt;
&lt;br /&gt;
[[Qt Designer and KDevelop 3.0 for Beginners]] [http://women.kde.org/articles/tutorials/kdevelop3/index.html (Original Link--now dead)]: Qt is the toolkit used by the KDE project for developing graphical applications. Currently, translations are available through the original link. This paper, written by Anne-Marie Mahfouf, shows a beginner how to create a simple application using Qt Designer 3 and KDevelop 3. This tutorial is based on an application written by Jono Bacon and has been reviewed by Daniel Molkentin (for the KDevelop 2 version) and Thomas Nagy. Translations to German, Russian, French, Italian, and Romanian available at the original site. Brought to you by KDE-Women. &lt;br /&gt;
&lt;br /&gt;
[http://devel-home.kde.org/~larrosa/tutorial/index.html KDE 3.0 Tutorial]: An excellent tutorial by KDE developer Antonio Larrosa Jiménez leading you from nothing to a fairly full featured web browser. Highly recommended for KDE 3.0 developers. &lt;br /&gt;
&lt;br /&gt;
[[Programming Tutorial for KDE 3]]&lt;br /&gt;
&lt;br /&gt;
[[Makefile.am HOWTO]]: Make the KDE 3 build system work for you. This HOWTO shows you how to do most anything you would need to do to get your application to compile and install &lt;br /&gt;
&lt;br /&gt;
====Components and Plugins====&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20110131141802/http://developer.kde.org/documentation/tutorials/xmlui/preface.html KDE User Interface Tutorial (XML GUI)]: Tutorial by KDE developer Kurt Granroth showing how to convert an existing KDE application to use the new XML based user interface builder. &lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20041123015635/http://www-106.ibm.com/developerworks/linux/edu/l-dw-linuxkp1-i.html Creating KParts Components]: Tutorial on IBM DeveloperWorks, by David Faure shows developers how to create KParts components, under KDE 2 and KDE 3. &lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20100305214125/http://developer.kde.org/documentation/tutorials/developing-a-plugin-structure/index.html Developing a Plugin Structure for a KDE Application]: This tutorial will take you through all the steps needed to write a plugin structure, plus plugins for your KDE application. &lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20081222231818/http://developer.kde.org/documentation/tutorials/kfile-plugin/t1.html Providing file meta-data support with KFile plugins]: Tutorial by Brad Hards that describes how to write a meta-data plugin for your favourite file format. It is presented as an example based tutorial. &lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20100806144422/http://developer.kde.org/documentation/tutorials/components/index.html Embedded Components Tutorial]: Tutorial by KDE developer Kurt Granroth showing how to convert an existing KDE application into a component suitable for embedding in Konqueror. &lt;br /&gt;
&lt;br /&gt;
[[How to write Kontact plugins]]&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20110407033422/http://developer.kde.org/documentation/other/kcm_howto.html KConfig Module HOWTO]: A small tutorial about writing a module for the KDE Control Center. &lt;br /&gt;
&lt;br /&gt;
[[Using the KDE dock widget]]: Tutorial for creating widgets that dock to other widgets. &lt;br /&gt;
&lt;br /&gt;
[[Introduction to Get Hot New Stuff]]: An introduction to the developer-friendly network update system that allows KDE applications to fetch new application data at runtime in a user friendly manner. &lt;br /&gt;
&lt;br /&gt;
====File Access with KIO====&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20080921201511/http://www.heise.de/ct/english/01/05/242/ KIO Tutorial] [http://www.heise.de/ct/artikel/Allesfresser-284884.html (German version)]: Tutorial by KDE developers Carsten Pfeiffer and Stephan Kulow for the c&amp;#039;t Magazine, giving an introduction into the KDE IO Architecture and an example KIO Slave. &lt;br /&gt;
&lt;br /&gt;
[http://developer.kde.org/documentation/design/kde/ioslaves/index.html Using IOSlaves]: IOSlaves are the subprocesses KDE uses to fetch remote files without blocking the user interface. This document discusses how they work and how to use them. (Somewhat dated, but might still be useful). &lt;br /&gt;
&lt;br /&gt;
====Scripting and Application Automation====&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20100126055754/http://developer.kde.org/documentation/tutorials/dot/dcopiface/dcop-interface.html Creating a DCOP Interface]: This tutorial shows you how to create a DCOP interface to a KDE application. &lt;br /&gt;
&lt;br /&gt;
[http://www-106.ibm.com/developerworks/linux/library/l-dcop/index.html?ca=dgr-kdeml01KDEDCOP Connect KDE applications using DCOP]: IBM DeveloperWorks tutorial, shows how to use kdcop and dcop with several examples such as instantly messaging a contact in kopete when he comes online, and also how to create a simple DCOP-aware application. &lt;br /&gt;
&lt;br /&gt;
====Misc.====&lt;br /&gt;
&lt;br /&gt;
[http://www.usermode.org/docs/kwintheme.html KWin decoration styles]: Tutorial on creating decoration plugins for the KWin window manager (KDE 3.2 and later). &lt;br /&gt;
&lt;br /&gt;
[[Creating Konqueror Service Menus]]: This tutorial shows you how to create mimetype-specific actions in Konqueror&amp;#039;s context menu (aka &amp;quot;servicemenus&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
[[KMDI Tutorial]]: Creating a Multi-Document Interface program using the KMDI library and KDevelop.&lt;br /&gt;
&lt;br /&gt;
[[TDE DBus Tutorial]]: Automatically generate and use dbus interfaces, publish services.&lt;/div&gt;</summary>
		<author><name>Cethyel</name></author>
	</entry>
	<entry>
		<id>https://wiki.trinitydesktop.net/index.php?title=KDE3_Tutorials&amp;diff=1505</id>
		<title>KDE3 Tutorials</title>
		<link rel="alternate" type="text/html" href="https://wiki.trinitydesktop.net/index.php?title=KDE3_Tutorials&amp;diff=1505"/>
		<updated>2020-11-22T17:23:45Z</updated>

		<summary type="html">&lt;p&gt;Cethyel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Developers]]&lt;br /&gt;
[[Category:KDE3]]&lt;br /&gt;
[[Category:Tutorials]]&lt;br /&gt;
&lt;br /&gt;
Note: Some of these tutorials are only available from the Wayback Machine.  Attempts have been made to link to the last viable version, but if the document spanned multiple pages, they may not all have been crawled on that date.  We apologize for the inconvenience.&lt;br /&gt;
&lt;br /&gt;
====Getting Started====&lt;br /&gt;
[KDE3 programming tutorial using KDevelop]: [http://www.dazzle.plus.com/linux/KDE3/index.htm] A programming tutorial by Richard Crook.&lt;br /&gt;
&lt;br /&gt;
[[Qt Designer and KDevelop 3.0 for Beginners]] [http://women.kde.org/articles/tutorials/kdevelop3/index.html (Original Link--now dead)]: Qt is the toolkit used by the KDE project for developing graphical applications. Currently, translations are available through the original link. This paper, written by Anne-Marie Mahfouf, shows a beginner how to create a simple application using Qt Designer 3 and KDevelop 3. This tutorial is based on an application written by Jono Bacon and has been reviewed by Daniel Molkentin (for the KDevelop 2 version) and Thomas Nagy. Translations to German, Russian, French, Italian, and Romanian available at the original site. Brought to you by KDE-Women. &lt;br /&gt;
&lt;br /&gt;
[http://devel-home.kde.org/~larrosa/tutorial/index.html KDE 3.0 Tutorial]: An excellent tutorial by KDE developer Antonio Larrosa Jiménez leading you from nothing to a fairly full featured web browser. Highly recommended for KDE 3.0 developers. &lt;br /&gt;
&lt;br /&gt;
[[Programming Tutorial for KDE 3]]&lt;br /&gt;
&lt;br /&gt;
[[Makefile.am HOWTO]]: Make the KDE 3 build system work for you. This HOWTO shows you how to do most anything you would need to do to get your application to compile and install &lt;br /&gt;
&lt;br /&gt;
====Components and Plugins====&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20110131141802/http://developer.kde.org/documentation/tutorials/xmlui/preface.html KDE User Interface Tutorial (XML GUI)]: Tutorial by KDE developer Kurt Granroth showing how to convert an existing KDE application to use the new XML based user interface builder. &lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20041123015635/http://www-106.ibm.com/developerworks/linux/edu/l-dw-linuxkp1-i.html Creating KParts Components]: Tutorial on IBM DeveloperWorks, by David Faure shows developers how to create KParts components, under KDE 2 and KDE 3. &lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20100305214125/http://developer.kde.org/documentation/tutorials/developing-a-plugin-structure/index.html Developing a Plugin Structure for a KDE Application]: This tutorial will take you through all the steps needed to write a plugin structure, plus plugins for your KDE application. &lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20081222231818/http://developer.kde.org/documentation/tutorials/kfile-plugin/t1.html Providing file meta-data support with KFile plugins]: Tutorial by Brad Hards that describes how to write a meta-data plugin for your favourite file format. It is presented as an example based tutorial. &lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20100806144422/http://developer.kde.org/documentation/tutorials/components/index.html Embedded Components Tutorial]: Tutorial by KDE developer Kurt Granroth showing how to convert an existing KDE application into a component suitable for embedding in Konqueror. &lt;br /&gt;
&lt;br /&gt;
[[How to write Kontact plugins]]&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20110407033422/http://developer.kde.org/documentation/other/kcm_howto.html KConfig Module HOWTO]: A small tutorial about writing a module for the KDE Control Center. &lt;br /&gt;
&lt;br /&gt;
[[Using the KDE dock widget]]: Tutorial for creating widgets that dock to other widgets. &lt;br /&gt;
&lt;br /&gt;
[[Introduction to Get Hot New Stuff]]: An introduction to the developer-friendly network update system that allows KDE applications to fetch new application data at runtime in a user friendly manner. &lt;br /&gt;
&lt;br /&gt;
====File Access with KIO====&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20080921201511/http://www.heise.de/ct/english/01/05/242/ KIO Tutorial] [http://www.heise.de/ct/artikel/Allesfresser-284884.html (German version)]: Tutorial by KDE developers Carsten Pfeiffer and Stephan Kulow for the c&amp;#039;t Magazine, giving an introduction into the KDE IO Architecture and an example KIO Slave. &lt;br /&gt;
&lt;br /&gt;
[http://developer.kde.org/documentation/design/kde/ioslaves/index.html Using IOSlaves]: IOSlaves are the subprocesses KDE uses to fetch remote files without blocking the user interface. This document discusses how they work and how to use them. (Somewhat dated, but might still be useful). &lt;br /&gt;
&lt;br /&gt;
====Scripting and Application Automation====&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20100126055754/http://developer.kde.org/documentation/tutorials/dot/dcopiface/dcop-interface.html Creating a DCOP Interface]: This tutorial shows you how to create a DCOP interface to a KDE application. &lt;br /&gt;
&lt;br /&gt;
[http://www-106.ibm.com/developerworks/linux/library/l-dcop/index.html?ca=dgr-kdeml01KDEDCOP Connect KDE applications using DCOP]: IBM DeveloperWorks tutorial, shows how to use kdcop and dcop with several examples such as instantly messaging a contact in kopete when he comes online, and also how to create a simple DCOP-aware application. &lt;br /&gt;
&lt;br /&gt;
====Misc.====&lt;br /&gt;
&lt;br /&gt;
[http://www.usermode.org/docs/kwintheme.html KWin decoration styles]: Tutorial on creating decoration plugins for the KWin window manager (KDE 3.2 and later). &lt;br /&gt;
&lt;br /&gt;
[[Creating Konqueror Service Menus]]: This tutorial shows you how to create mimetype-specific actions in Konqueror&amp;#039;s context menu (aka &amp;quot;servicemenus&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
[[KMDI Tutorial]]: Creating a Multi-Document Interface program using the KMDI library and KDevelop.&lt;br /&gt;
&lt;br /&gt;
[[TDE DBus Tutorial]]: Automatically generate and use dbus interfaces, publish services.&lt;/div&gt;</summary>
		<author><name>Cethyel</name></author>
	</entry>
	<entry>
		<id>https://wiki.trinitydesktop.net/index.php?title=Fedora_Trinity_Repository_Installation_Instructions&amp;diff=1442</id>
		<title>Fedora Trinity Repository Installation Instructions</title>
		<link rel="alternate" type="text/html" href="https://wiki.trinitydesktop.net/index.php?title=Fedora_Trinity_Repository_Installation_Instructions&amp;diff=1442"/>
		<updated>2020-09-28T11:54:15Z</updated>

		<summary type="html">&lt;p&gt;Cethyel: /* 5. (Optional) Sets TDM as the default display manager */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Fedora Trinity Repository Installation Instructions==&lt;br /&gt;
[[Category:Documentation]]&lt;br /&gt;
[[Category:Installation]]&lt;br /&gt;
&lt;br /&gt;
===1. Configure the supplementary 3rdparty repositories===&lt;br /&gt;
&lt;br /&gt;
Install RPMFUSION repository: [http://rpmfusion.org/Configuration http://rpmfusion.org/Configuration]&lt;br /&gt;
&lt;br /&gt;
===2. Download the repo configuration file corresponding to your distribution (as root user)===&lt;br /&gt;
&lt;br /&gt;
====For Fedora 30 (R14.0.7)====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;rpm -Uvh http://mirror.ppa.trinitydesktop.org/trinity/rpm/f30/trinity-r14/RPMS/noarch/trinity-repo-14.0.7-1.fc30.noarch.rpm&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====For Fedora 31 (R14.0.7)====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;rpm -Uvh http://mirror.ppa.trinitydesktop.org/trinity/rpm/f31/trinity-r14/RPMS/noarch/trinity-repo-14.0.7-1.fc31.noarch.rpm&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===3. Install the Trinity desktop environment===&lt;br /&gt;
&lt;br /&gt;
Choose one of the following scenarios.&lt;br /&gt;
&lt;br /&gt;
Install the minimalistic Trinity Desktop Environment:&lt;br /&gt;
&lt;br /&gt;
 dnf install trinity-tdebase&lt;br /&gt;
&lt;br /&gt;
Install the entire Trinity Desktop Environment, without applications:&lt;br /&gt;
&lt;br /&gt;
 dnf install trinity-desktop&lt;br /&gt;
&lt;br /&gt;
Install the entire Trinity Desktop Environment, with all applications:&lt;br /&gt;
&lt;br /&gt;
 dnf install trinity-desktop-all&lt;br /&gt;
&lt;br /&gt;
===4. (Optional) Install your locale translation package, e.g for French translation===&lt;br /&gt;
&lt;br /&gt;
 dnf install trinity-tde-i18n-French&lt;br /&gt;
&lt;br /&gt;
Koffice translations:&lt;br /&gt;
&lt;br /&gt;
 dnf install trinity-koffice-i18n-French&lt;br /&gt;
&lt;br /&gt;
K3B translations:&lt;br /&gt;
&lt;br /&gt;
 dnf install trinity-k3b-i18n-French&lt;br /&gt;
&lt;br /&gt;
Gwenview translations (all languages):&lt;br /&gt;
&lt;br /&gt;
 dnf install trinity-gwenview-i18n&lt;br /&gt;
&lt;br /&gt;
Note: you can obtain a list of available TDE packages with the following command:&lt;br /&gt;
&lt;br /&gt;
 dnf search trinity-&lt;br /&gt;
&lt;br /&gt;
===5. (Optional) Sets TDM as the default display manager===&lt;br /&gt;
&lt;br /&gt;
You must disable your current DM (e.g. KDM, GDM, XDM ...) service and then enable the TDM service.&lt;br /&gt;
&lt;br /&gt;
 systemctl disable gdm.service&lt;br /&gt;
 systemctl disable kdm.service&lt;br /&gt;
 systemctl disable xdm.service&lt;br /&gt;
 systemctl disable lightdm.service&lt;br /&gt;
 systemctl disable lxdm.service&lt;br /&gt;
 systemctl enable tdm.service&lt;br /&gt;
&lt;br /&gt;
Then reboot your computer.&lt;/div&gt;</summary>
		<author><name>Cethyel</name></author>
	</entry>
	<entry>
		<id>https://wiki.trinitydesktop.net/index.php?title=Fedora_Trinity_Repository_Installation_Instructions&amp;diff=1441</id>
		<title>Fedora Trinity Repository Installation Instructions</title>
		<link rel="alternate" type="text/html" href="https://wiki.trinitydesktop.net/index.php?title=Fedora_Trinity_Repository_Installation_Instructions&amp;diff=1441"/>
		<updated>2020-09-28T11:51:59Z</updated>

		<summary type="html">&lt;p&gt;Cethyel: /* 5. (Optional) Sets TDM as the default display manager */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Fedora Trinity Repository Installation Instructions==&lt;br /&gt;
[[Category:Documentation]]&lt;br /&gt;
[[Category:Installation]]&lt;br /&gt;
&lt;br /&gt;
===1. Configure the supplementary 3rdparty repositories===&lt;br /&gt;
&lt;br /&gt;
Install RPMFUSION repository: [http://rpmfusion.org/Configuration http://rpmfusion.org/Configuration]&lt;br /&gt;
&lt;br /&gt;
===2. Download the repo configuration file corresponding to your distribution (as root user)===&lt;br /&gt;
&lt;br /&gt;
====For Fedora 30 (R14.0.7)====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;rpm -Uvh http://mirror.ppa.trinitydesktop.org/trinity/rpm/f30/trinity-r14/RPMS/noarch/trinity-repo-14.0.7-1.fc30.noarch.rpm&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====For Fedora 31 (R14.0.7)====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;rpm -Uvh http://mirror.ppa.trinitydesktop.org/trinity/rpm/f31/trinity-r14/RPMS/noarch/trinity-repo-14.0.7-1.fc31.noarch.rpm&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===3. Install the Trinity desktop environment===&lt;br /&gt;
&lt;br /&gt;
Choose one of the following scenarios.&lt;br /&gt;
&lt;br /&gt;
Install the minimalistic Trinity Desktop Environment:&lt;br /&gt;
&lt;br /&gt;
 dnf install trinity-tdebase&lt;br /&gt;
&lt;br /&gt;
Install the entire Trinity Desktop Environment, without applications:&lt;br /&gt;
&lt;br /&gt;
 dnf install trinity-desktop&lt;br /&gt;
&lt;br /&gt;
Install the entire Trinity Desktop Environment, with all applications:&lt;br /&gt;
&lt;br /&gt;
 dnf install trinity-desktop-all&lt;br /&gt;
&lt;br /&gt;
===4. (Optional) Install your locale translation package, e.g for French translation===&lt;br /&gt;
&lt;br /&gt;
 dnf install trinity-tde-i18n-French&lt;br /&gt;
&lt;br /&gt;
Koffice translations:&lt;br /&gt;
&lt;br /&gt;
 dnf install trinity-koffice-i18n-French&lt;br /&gt;
&lt;br /&gt;
K3B translations:&lt;br /&gt;
&lt;br /&gt;
 dnf install trinity-k3b-i18n-French&lt;br /&gt;
&lt;br /&gt;
Gwenview translations (all languages):&lt;br /&gt;
&lt;br /&gt;
 dnf install trinity-gwenview-i18n&lt;br /&gt;
&lt;br /&gt;
Note: you can obtain a list of available TDE packages with the following command:&lt;br /&gt;
&lt;br /&gt;
 dnf search trinity-&lt;br /&gt;
&lt;br /&gt;
===5. (Optional) Sets TDM as the default display manager===&lt;br /&gt;
&lt;br /&gt;
You must disable your current DM (e.g. KDM, GDM, XDM ...) service and then enable the TDM service.&lt;br /&gt;
&lt;br /&gt;
 systemctl disable gdm.service&lt;br /&gt;
 systemctl disable kdm.service&lt;br /&gt;
 systemctl disable xdm.service&lt;br /&gt;
 systemctl disable lightdm.service&lt;br /&gt;
 systemctl enable tdm.service&lt;br /&gt;
&lt;br /&gt;
Then reboot your computer.&lt;/div&gt;</summary>
		<author><name>Cethyel</name></author>
	</entry>
</feed>