glfs/kde4/intro/pre-install-config.xml
Thomas Trepl e9f7761760 Cosmetic changes
git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@8870 af4574ff-66df-0310-9fd7-8a98e5e911e0
2011-03-19 18:19:07 +00:00

237 lines
11 KiB
XML

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../../general.ent">
%general-entities;
]>
<sect1 id="kde4-pre-install-config">
<?dbhtml filename="pre-install-config.html"?>
<sect1info>
<othername>$LastChangedBy$</othername>
<date>$Date$</date>
</sect1info>
<title>KDE4 Pre-installation Configuration</title>
<sect2><title>Dependencies</title>
<para><application>KDE4</application> is a huge software collection
providing a desktop, tools for system and development tasks as well as
fun and educational stuff. It makes use of a tremendous amount of
non-KDE packages. While nearly all of those packages are optional,
some others are are highly recommended like <xref linkend="polkit"/>.</para>
<para>The following list of packages should give you an overview
about those packages and you may want to consider to install them
first. Installing this packages will switch on some useful features
in the resulting <application>KDE4</application>. Nevertheless the
dependencies are shown on each of the following pages.
<itemizedlist>
<listitem>
<para><ulink url="http://qjson.sourceforge.net">QJSON</ulink> (http://qjson.sourceforge.net) - Qt library for handling JavaScript objects. Unfortunatly, the release version 0.7.1 is to old to compile. Alternativly use the current SVN sources or apply a patch to bring the release to a usable status.</para>
<para>Compile it using <command>cmake -DCMAKE_INSTALL_PREFIX=/usr &amp;&amp; make &amp;&amp; make install</command> in its own build directory.</para>
</listitem>
<listitem>
<para><ulink url="http://gpsd.berlios.de/">libgps</ulink> (http://gpsd.berlios.de/) - interface to GPS devices (kdeedu)</para>
<para>Compile it the usual way <command>configure &amp;&amp; make &amp;&amp; make install</command>.</para>
</listitem>
<listitem>
<para><ulink url="http://eigen.tuxfamily.org/">eigen2</ulink> (http://eigen.tuxfamily.org/) - a C++ template library for linear algebra</para>
<para>Compile it using <command>cmake -DCMAKE_INSTALL_PREFIX=/usr &amp;&amp; make &amp;&amp; make install</command>.</para>
</listitem>
<listitem>
<para><xref linkend="desktop-file-utils"/> - a few command line utilities for working with desktop entries</para>
</listitem>
<listitem>
<para><ulink url="http://www.riverbankcomputing.com/software/sip/intro">pySIP</ulink> (http://www.riverbankcomputing.com/software/sip/intro) - Python Service Integration Platform</para>
<para>Compile it <command>python ./configure &amp;&amp; make &amp;&amp; make install</command>.</para>
</listitem>
<listitem>
<para><ulink url="http://www.riverbankcomputing.com/software/pyqt/">pyQT4</ulink> (http://www.riverbankcomputing.com/software/pyqt/) - Python interface to Qt4 (kdebindings)</para>
<para>Compile it <command>python ./configure &amp;&amp; make &amp;&amp; make install</command>.</para>
</listitem>
<listitem>
<para><xref linkend="ruby"/> - Ruby language (kdebindings)</para>
</listitem>
<listitem>
<para><xref linkend="poppler"/> - Utility and library to show PDF files (kdegraphics)</para>
<para>make sure the --enable-xpdf-headers switch is set</para>
</listitem>
<listitem>
<para><xref linkend="libical"/> - library handling calendar entries (kdepimlibs)</para>
</listitem>
<listitem>
<para><ulink url="http://cyberelk.net/tim/data/pycups/">pyCUPS</ulink> (http://cyberelk.net/tim/data/pycups/) - Python interface to CUPS (kdeadmin)</para>
<para>Compile it with <command>make &amp;&amp; make install</command>.</para>
</listitem>
<listitem>
<para><ulink url="http://cyberelk.net/tim/data/system-config-printer/">system-config-printer</ulink> (http://cyberelk.net/tim/data/system-config-printer/) - Printer config (kdeadmin)</para>
<para>Compile it the usual way <command>configure &amp;&amp; make &amp;&amp; make install</command>.</para>
</listitem>
<listitem>
<para><xref linkend="libidn"/> - en-/decode internationalized domain names (kdenetwork)</para>
</listitem>
<listitem>
<para><xref linkend="polkit"/> - Policy handling (nearly all of KDE)</para>
</listitem>
<listitem>
<para><xref linkend="consolekit"/> - Runtime dependency of polkit</para>
</listitem>
<listitem>
<para>U-tools - udisks and upower instead of HAL</para>
<para>and all of its dependencies: <xref linkend="libatasmart"/>, <xref linkend="sg3_utils"/>,
<xref linkend="libffi"/>, <xref linkend="acl"/>, <xref linkend="gobject-introspection"/>,
<xref linkend="udev"/>, <xref linkend="Device-mapper"/>, <xref linkend="parted"/> and than
<xref linkend="udisks"/> and <xref linkend="upower"/></para>
</listitem>
<listitem>
<para><xref linkend="libiodbc"/> - iODBC library</para>
</listitem>
<listitem>
<para><xref linkend="virtuoso"/> - a Universal Database</para>
</listitem>
<listitem>
<para><xref linkend="exiv2"/> - Image data processing library</para>
</listitem>
<listitem>
<para>RDF tools - Handling of RDF data</para>
<para>Including: <xref linkend="raptor"/>, <xref linkend="rasqal"/> and <xref linkend="redland"/></para>
</listitem>
<listitem>
<para><xref linkend="clucene"/> - Text search engine</para>
</listitem>
<listitem>
<para><xref linkend="boost"/> - collection of free C++ libraries</para>
</listitem>
<listitem>
<para><xref linkend="qca"/> - Cryptographic library for Qt platform</para>
</listitem>
<listitem>
<para><xref linkend="libdbusmenu-qt"/> - Qt interface to D-Bus menue</para>
</listitem>
<listitem>
<para><xref linkend="soprano"/> - object-oriented C++/Qt4 framework for RDF data</para>
</listitem>
<listitem>
<para><xref linkend="strigi"/> - Desktop indexing engine</para>
</listitem>
<listitem>
<para><ulink url="http://www.grantlee.org">Grantlee</ulink> (http://www.grantlee.org) - a template system for Qt</para>
<para>Compile it using <command>cmake -DCMAKE_INSTALL_PREFIX=/usr &amp;&amp; make &amp;&amp; make install</command> in its own build directory.</para>
</listitem>
</itemizedlist>
</para>
</sect2>
<sect2><title>Installing in /usr</title>
<para>One option is to put <application>KDE4</application> into the
<filename class='directory'>/usr</filename> hierarchy. This creates
a simpler setup but is more difficult to try multiple versions
of <application>KDE4</application>.</para>
<screen><userinput>export &kde4-dir-var;=/usr</userinput></screen>
</sect2>
<sect2><title>Installing in /opt</title>
<para>A method of building multiple versions installs
<application>KDE4</application> in the <filename
class='directory'>/opt</filename> hierarchy:</para>
<screen><userinput>export &kde4-dir-var;=/opt/kde4</userinput></screen>
<para>If you are not installing <application>KDE4</application> in
<filename class="directory">/usr</filename>, you will need to make some
additional configuration changes. Best practice is to add those to your
system or personal profile:</para>
<screen><userinput>cat &gt; /etc/profile.d/kde4.sh &lt;&lt;"EOF"
# Begin /etc/profile.d/kde4.sh
&kde4-dir-var;=/opt/kde4
KDE4DIR=&kde4-dir;
KDEDIR=&kde4-dir;
pathappend &kde4-dir;/bin PATH
pathappend &kde4-dir;/lib/pkgconfig PKG_CONFIG_PATH
pathappend &kde4-dir;/share/pkgconfig PKG_CONFIG_PATH
pathappend &kde4-dir;/share XDG_DATA_DIRS
pathappend /etc/kde4/xdg XDG_CONFIG_DIRS
export KDE4_PREFIX KDE4DIR KDEDIR
export PATH PKG_CONFIG_PATH XDG_DATA_DIRS XDG_CONFIG_DIRS
# End /etc/profile.d/kde4.sh
EOF
</userinput></screen>
<para>Add to your <filename>/etc/ld.so.conf</filename>:</para>
<screen role="root"><userinput>cat &gt;&gt; /etc/ld.so.conf &lt;&lt; "EOF"
<literal># Begin kde4 addition to /etc/ld.so.conf
/opt/kde4/lib
# End kde4 addition</literal>
EOF</userinput></screen>
<indexterm zone="kde4-pre-install-config">
<primary sortas="e-etc-ld.so.conf">/etc/ld.so.conf</primary>
</indexterm>
<para>Add to your <filename>/etc/man_db.conf</filename>:</para>
<screen role="root"><userinput>cat &gt;&gt; /etc/man_db.conf &lt;&lt; "EOF"
<literal># Begin kde4 addition to man_db.conf
MANDATORY_MANPATH /opt/kde4/man
# End kde4 addition to man_db.conf</literal>
EOF</userinput></screen>
<indexterm zone="kde4-pre-install-config">
<primary sortas="e-etc-man_db.conf">/etc/man_db.conf</primary>
</indexterm>
<tip>
<para>Sometimes, the installation pathes are patched into installed
files. This is the reason why <filename class="directory">/opt/kde4</filename>
is used as installation prefix instead of <filename class="directory">/opt/kde-&kde4-version;</filename>.
After installing <application>KDE4</application>, you may consider to
rename the directory and create a symlink:</para>
<screen role="root"><userinput>mv /opt/kde{4,-&kde4-version;} &amp;&amp;
ln -v -sf kde-&kde4-version; /opt/kde4</userinput></screen>
<para>Later on, you may want to install other versions of <application>KDE4</application>.
To do that, just remove the symlink and use <filename class="directory">/opt/kde4</filename>
as prefix again (<application>KDE4</application> must not be started). Which
version of <application>KDE4</application> you use depends only on
where the symlink points to. No other reconfiguration will be needed.</para>
</tip>
</sect2>
<sect2><title>The QT4DIR variable</title>
<para>Some additional packages which are based on <application>Qt4</application>
will be installed. One of them is <application>Phonon</application>, a direct
replacement of the implementation which comes with <application>Qt4</application>.
It's recommended to place such libraries in the same hierarchy where <application>Qt4</application>
itself resides. Later on, it is refered to <envar>QT4DIR</envar>. If you have placed
<application>Qt4</application> in <filename class='directory'>/usr</filename>,
set <envar>QT4DIR</envar>:</para>
<screen><userinput>export QT4DIR=/usr</userinput></screen>
<para>Alternativly, <application>Qt4</application> is often placed in the
<filename class='directory'>/opt</filename> hierarchy:</para>
<screen><userinput>export QT4DIR=/opt/qt-&qt4-version;
export PATH=$QT4DIR/bin:$PATH</userinput></screen>
</sect2>
</sect1>