Dear all,
I've now managed to build KDE 4.8.0 from source.
This time, I took some notes along the way. I hope this can help someone.
If not, at least it proves to show that it's possible to use the BLFS methods
to built KDE4 on top of LFS7.0 to get it working.
So, how did I do it?
The KDE website lists these dependencies:
pkg-config - 0.26 - in blfs already
CMake - 2.8.6 - in blfs already
DBus - 1.4.16 - in blfs already
X11 - Xorg-7.6.2 - in blfs already
Mesa - Xorg dependency
libjpeg - 8c - in blfs already
libpng - 1.5.8 - in blfs already
libungif - giflib-4.1.6 - in blfs already
librdf - not in blfs but the website is
http://download.librdf.org/source/
I did not bother with as it's maybe not needed
libbz2 - also not in blfs (http://bzip.org/ ) but i guessed some
other package would do the same
libxml2 - 2.7.8 - in blfs already
libxslt - 1.1.26 - in blfs already
Boost - 1.45.0 - in blfs already
libmysqlclient - 5.5.17 - in blfs already - only client is required
shared-mime-info 0.91 - in blfs already
Shared-Desktop-Ontologies 0.5 in blfs , current is 0.9
DocBook XML DTD's 4.5 - in blfs already - required for the KDE
documentation and help
DocBook XSl Stylesheets 1.76.1 - in blfs already - required for
the KDE documentation and help
uDisk 1.0.1 - in blfs already ( I did not build this package )
uPower 0.9.14 - in blfs already ( I did not build this package )
After checking that I already had these installed, I went ahead and decided
that if I ended up needing more packages I would get them and build them as I
went along.
BLFS already has the instructions below, which are quite good, so I ran them.
Installing in /usr
One option is to put KDE4 into the /usr hierarchy. This creates a simpler
setup but is more difficult to try multiple versions of KDE4.
export KDE4_PREFIX=/usr
Installing in /opt
A method of building multiple versions installs KDE4 in the /opt hierarchy:
export KDE4_PREFIX=/opt/kde4
If you are not installing KDE4 in /usr, you will need to make some
additional configuration changes.
Best practice is to add those to your system or personal profile:
cat > /etc/profile.d/kde4.sh <<"EOF"
# Begin /etc/profile.d/kde4.sh
KDE4_PREFIX=/opt/kde4
KDE4DIR=$KDE4_PREFIX
KDEDIR=$KDE4_PREFIX
pathappend $KDE4_PREFIX/bin PATH
pathappend $KDE4_PREFIX/lib/pkgconfig PKG_CONFIG_PATH
pathappend $KDE4_PREFIX/share/pkgconfig PKG_CONFIG_PATH
pathappend $KDE4_PREFIX/share XDG_DATA_DIRS
pathappend /etc/kde4/xdg XDG_CONFIG_DIRS
export KDE4_PREFIX KDE4DIR KDEDIR
# End /etc/profile.d/kde4.sh
EOF
The QT4DIR variable
Some additional packages which are based on Qt4 will be installed.
One of them is Phonon, a direct replacement of the implementation
which comes with Qt4.
It's recommended placing such libraries in the same hierarchy where
Qt4 itself resides.
Later on, it is refered to as QT4DIR. If you have placed Qt4 in /usr, set
QT4DIR:
export QT4DIR=/usr
Alternativly, Qt4 is often placed in the /opt hierarchy:
export QT4DIR=/opt/qt-4.8.0
export PATH=$QT4DIR/bin:$PATH
Installation
Qt4 - QT4.8.0 is in blfs. I built it as per the instructions,
without phonon.
DBusMenu-qt - libdbusmenu-qt 0.7.0 is in blfs but the current is 0.9.0
so I downloaded it from
http://launchpad.net/libdbusmenu-
qt/trunk/0.9.0/+download/libdbusmenu-qt-0.9.0.tar.bz2
and built it with
cmake -DCMAKE_INSTALL_PREFIX=$(pkg-config --variable=prefix QtCore) -
DWITH_DOC=OFF ..
make
make install
KDE divides their packages in groups: KDE Support, KDE Development Platform,
KDE Workspace and Applications
So far I've built the first 3 and got a desktop, I'll be building more
applications next.
KDE Support
Automoc - 0.9.88 is in BLFS
Attica - 0.2.0 is in BLFS but current is 0.3.0 so I downloaded it from
http://mirrors.isc.org/pub/kde/stable/attica/attica-0.3.0.tar.bz2
and built it following the same instructions as per BLFS
Polkit Qt - 0.99.0 is in BLFS but the current is 1.0.103 so I downloaded
it from
http://mirrors.isc.org/pub/kde/stable/apps/KDE4.x/admin/polkit-
qt-1-0.103.0.tar.bz2
and built it with the BLFS instructions
Strigi - 0.6.4 in BLFS
Soprano - 2.5.63 is in BLFS but this proved not to be good enough
for kde4.8.0.
I downloaded the current version 2.7.4 and installed it as per
the BLFS instructions.
The boot script is not required as kde will start it if
and when needed.
Akonadi - 1.5.0 is in BLFS but the current is 1.6.90 so I downloaded
and installed it
http://mirrors.isc.org/pub/kde/stable/akonadi/src/akonadi-1.6.90.tar.bz2
following the same BLFS instructions
Cagibi - upnp client. This an optional package I did not install.
It can be downloaded
http://mirrors.isc.org/pub/kde/stable/cagibi/cagibi-0.2.0.tar.bz2
Phonon - 4.4.4 is in BLFS but is not good enough for KDE4.8.0.
I downloaded and installed 4.6.0 only to find that the latest
xine backend would not
compile with it, so I downloaded and installed 4.5.1 instead
http://mirrors.isc.org/pub/kde/stable/phonon/4.5.1/src/phonon-4.5.1.tar.xz
I followed the existing BLFS instructions.
phonon backend xine - This is the only backend I installed,
following the BLFS instructions.
http://mirrors.isc.org/pub/kde/stable/phonon/phonon-backend-
xine/4.4.4/src/phonon-backend-xine-4.4.4.tar.bz2
phonon backend gstreamer - another backend (I did not try it out)
http://mirrors.isc.org/pub/kde/stable/phonon/phonon-backend-
gstreamer/4.5.1/src/phonon-backend-gstreamer-4.5.1.tar.bz2
phonon backend vlc - another backend (I did not try it out)
http://mirrors.isc.org/pub/kde/stable/phonon/phonon-backend-
vlc/0.4.1/phonon-backend-vlc-0.4.1.tar.bz2
Prison - A Qt based barcode library, optional,
so I did not install it/
Oxygen Icons - 4.6.0 in BLFS. I got 4.8.0 instead from
http://mirrors.isc.org/pub/kde/stable/4.8.0/src/oxygen-
icons-4.8.0.tar.bz2
and installed it following the existing BLFS instructions
Shared destop ontologies - 0.5 is in BLFS but current the current is 0.9.0
which I downloaded and installed
QImageBlitz - 0.0.6 in BLFS
KDE Development Platform
qca is a dependency - 2.0.3 as in BLFS got installed
KDElibs
Downloaded
http://mirrors.isc.org/pub/kde/stable/4.8.0/src/kdelibs-4.8.0.tar.bz2
and installed it with the BLFS instructions
KDE PIM libs
Downloaded
http://mirrors.isc.org/pub/kde/stable/4.8.0/src/kdepimlibs-4.8.0.tar.bz2
and installed it with the BLFS instructions
KDE runtime
Downloaded
http://mirrors.isc.org/pub/kde/stable/4.8.0/src/kde-runtime-4.8.0.tar.bz2
and installed it with the BLFS instructions
but disabled nfs by commenting it out with a # at the start of
the line add_subdirectory(nfs) in kioslaves/CMakeLists.txt
KDE Base Apps
in 4.6.0, kdebase has kedit, konsole, dolphin and konqueror
but in 4.8.0 they were separated into diferent packages
I downloaded them from
http://mirrors.isc.org/pub/kde/stable/4.8.0/src/kde-baseapps-4.8.0.tar.bz2
This package contains Konqueror and Dolphin.
I followed these instructions for it.
Prepare the package for compilation:
cmake -DCMAKE_INSTALL_PREFIX=$KDE4_PREFIX \
-DKDE_DEFAULT_HOME=.kde4 \
-DSYSCONF_INSTALL_DIR=/etc/kde4 \
.. &&
make
Now, as the root user:
make install
KATE
Downloaded from
http://mirrors.isc.org/pub/kde/stable/4.8.0/src/kate-4.8.0.tar.bz2
Used the same build commands as for base apps
KATE is the KDE Advanced Text Editor
Konsole
Downloaded from
http://mirrors.isc.org/pub/kde/stable/4.8.0/src/konsole-4.8.0.tar.bz2
Used the same build commands as for base apps
KDE Workspace
This has a number of dependencies that needed installing
Soprano
Downloaded from
http://heanet.dl.sourceforge.net/project/soprano/Soprano/2.7.4/soprano-2.7.4.tar.bz2
and followed BLFS instructions
SIP
Downloaded from
http://riverbankcomputing.co.uk/static/Downloads/sip4/sip-4.13.2.tar.gz
Installed it with
python configure.py
make
make install
PyQT
Downloaded from
http://www.riverbankcomputing.com/static/Downloads/PyQt4/PyQt-x11-
gpl-4.9.1.tar.gz
Installed it with
python configure.py
make
make install
PyKDE
Downloaded from
http://mirrors.isc.org/pub/kde/stable/4.8.0/src/pykde4-4.8.0.tar.bz2
Used the same build commands as for base apps
Kactivities
Downloaded from
http://mirrors.isc.org/pub/kde/stable/4.8.0/src/kactivities-4.8.0.tar.bz2
Used the same build commands as for base apps
Workspace
Downloaded from
http://mirrors.isc.org/pub/kde/stable/4.8.0/src/kde-
workspace-4.8.0.tar.bz2
Used the same build commands as for base apps
Starting KDE
built the .xinitrc as per current BLFS instructions
(As a note, I think these comments deserve their own section in BLFS)
-----------------
And that's it. KDE4.8.0. started up in all it's plasmodic metallic glory.
TODO:
kdebindings does not exist anymore, it was replaced with PyKDE,
perlqt, perlkde, qtruby and probably some more packages.
It's likely that all of these need to be built before
the kde-workspace package as some plasma addons may depend on them.
I don't see it as too much of a problem, as these packages can be built
aftwewards but I may be proved wrong.
KDE Applications
kdegraphics
KDE Admin
Network
PIM
pim-runtime
multimedia
games
artwork
edu
plasma-addons
accessibility
toys
...and more
kde-l10n
http://mirrors.isc.org/pub/kde/stable/4.8.0/src/kde-l10n/
KDE Development
KDESDK
http://mirrors.isc.org/pub/kde/stable/4.8.0/src/kdesdk-4.8.0.tar.bz2
PS: I built everything in /opt so I'm able to switch between KDE4.6.0
and 4.8.0 using the ln command.
I also rename the .kde4 folder in my home folder to ensure the settings
on the 2 environments don't get mixed up.
Regards,
Eduardo
--
http://linuxfromscratch.org/mailman/listinfo/blfs-support
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsubscribe: See the above information page