[blfs-support] KDE 4.8.0 working on top of LFS7.0

Eduardo Batalha blfs-support at edbatalha.info
Sat Feb 18 13:27:01 PST 2012


Hello, 

A few more notes...

KDE4.8.0 is noticeably faster using Dolphin an Konqueror. Well one there...

I proceeded with building applications and wanted to have a mail client so 
I built KDE PIM and KDE PIM runtime, only to find out that it is too unstable 
to be useful for me. Googling for the issues showed me that this happens 
across other distributions, when relatively big imap or pop3 mailboxes are 
accessed. 

I decided then to go back to 4.6.0, which I had built earlier.
(Fortunately, all I had to do was change a few links, "my distro, my rules.") 

Regards,
Eduardo Batalha

On Sunday 12 February 2012 14:15:17 Eduardo Batalha wrote:
> 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



More information about the blfs-support mailing list