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

Eduardo Batalha blfs-support at edbatalha.info
Sun Feb 12 06:15:17 PST 2012


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