So, I finally got around to playing with kde-4.1.0 (yes, I know 4.1.1 is now out, but I'd already done the downloads so I figured this was good enough to at least see what was happening. I also hoped I wouldn't need kdebase-workspace which is nearly as large as the runtime. The following comments are for building under /opt with my normal desktop already installed in /usr (so, the extras have to come _first_ on my PATH and PKG_CONFIG_PATH, unlike PKG_CONFIG_PATH for Qt4 in the current book).
Let's get one thing clear - I'm not a "desktop environment" person - the less on my desktop, the better. If I want to run a graphical application, I either run it from a menu, or from an association (e.g. firefox thinks I use xpdf to display pdfs - the current symlink tells a different story), or I type its name on the panel (ctrl-alt-space in icewm). So, my aim is to compile as little as possible to provide the functionality I'm looking for. Now, there are a _lot_ of pages out there (particularly within techbase.kde.org) which suggest you have to use a metric shed-load of extra packages to have a chance of running any of this, so I thought I'd post my comments on what works for me, particularly dependencies. and what the problems are. Note that I don't build kdepim, nor any extras other than from graphics and multimedia. General dependencies: -------------------- Alsa - the mixer in kdemultimedia needs at least 1.0.14a, I upgraded to 1.0.17{,a} before building kdelibs. Clucene-0.9.21 - a search library (according to its website it's coded in c++ so it's faster than lucene). Running a desktop search is of zero interest to me, but this is required for strigi for kdelibs. Exiv2-0.17.1 - for gwenview (an image viewer) in kdegraphics. Libusb-0.1.12 - for gphoto, and thus for kamera, also adds support for logitech mich to KControl. Libgphoto2-2.4.2 Gphoto2-2.4.2 Cmake-2.6.1 - the basis of how kde4 is built. For 'nix users it just replaces ./configure and you get to learn a whole lot of things like -DCMAKE_INSTALL_PREFIX=/wherever ( like --prefix= ). Strigi-0.5.10 - targetted as a replacement for grep and find, with a desktop daemon. Provides 'deepfind' and 'deepgrep' commands. It seems to only work within its database - fortunately, the daemon is not needed for a minimal compile, just the headers and libraries. Qt-x11-opensource-src-4.4.1 - with the current book's instructions Poppler-qt4.pc >= 0.6.0 is needed to be able to display pdfs in okular. Obviously, the poppler on my BLFS-6.3 system fails this. The pure64 system has a patched 0.6.4 which works (just recompile now qt4 exists). I'll be sticking with this until I upgrade my gnome packages to some that can use poppler-0.8, but the adventurous should probably go straight to 0.8, at least you won't have to look for back-ported security fixes. Unfulfilled dependencies for kdelibs: ------------------------------------ Soprano - required for nepomuk, which is something for the "semantic desktop". Reputedly slow with the default backend, and the faster alternative needs java. For me, that is just bloat. Nepomuk - see soprano ;) OpenEXR - a format for HDR (high dynamic range) images. Samba PCIUTILS - for direct access to PCI slots in kinfocenter RAW1394 - for firewire support in kinfocenter Unfulfilled dependencies for kdebase-workspace: ---------------------------------------------- BlueZ - for bluetooth support NetworkManager-0.6.5 - a daemon for user-controlled networking, maybe something to do with wireless. I suspect it needs hal. Captury framework library - for video recording. XMMS - to support XMMS in the now playing data engine. Soprano (qv) - adds support for the Soprano data type to Plasma Engine Explorer, whatever that means. Libxklavier - for xkb keyboard map switching utility. NB my base build includes lm-sensors (the 2.10 series, which I believe is now old), this was detected along with Compositing support and libxft. Unfulfilled dependencies for okular in kdegraphics: -------------------------------------------------- libspectre (http://libspectre.freedesktop.org) - is used to render postscript documents. Unfortunately, 0.2.1 needs libgs.so from ghostscript >= 8.61. It looks as if the instructions for 8.53 in the book will work (with the soinstall) and it also looks as if that will work with cups, but I wasn't motivated to try upgrading my current working print system. CHM - Google suggests this is some sort of M$ file format. No idea what is needed to provide the functionality. DjVuLibre - for djvu files, whatever they might be. EPub - for epub documents, again I'm not motivated to google. QCA2 (qca2.pc) - Qt Cryptographic Architecture for encrypted OpenDocument Text : something I can recognise, but not relevant to me. Unfulfilled dependencies for kdemultimedia: ------------------------------------------ I didn't note anything except MusicBrainz - metadata lookup on the MusicBrainz server TunePimp - a library to provide MusicBrainz tagging in Juk Unused but supposedly needed for the complete kde: ------------------------------------------------- Eigen1 and Eigen2 from http://eigen.tuxfamily.org - these are c++ templates. Kde-support: ----------- These originally lived in kde-support within kde's subversion. Separate releases are like hen's teeth, but various distros have extracted them. Automoc4 - I used automoc4-0.9.87 from Arch Linux. Phonon - I used Phonon_4.2.0.orig from the debian pool (their diff only debianizes it, it doesn't alter the code). Qimageblitz-0.0.4 - I think I grabbed this out of a fedora srpm. Not needed for the parts I built: Akonadi - this is actually documented (for PIM), and it does have a release. http://pim.kde.org/akonadi/ Cpptoxml - I didn't find this, perhaps it isn't needed now. The basics of kde: ----------------- Kdelibs-4.1.0 This package demands to be built in a separate build directory, so "configure" it with cmake -DCMAKE_INSTALL_PREFIX=/your/prefix ../kdelibs-4.1.0 N.B cmake always requires a directory, usually '.' [ kdepimlibs comes here if you build kdenetwork, kdepim, kdeutils ] Kdebase-runtime-4.1.0 Required on all platforms. Kdebase-workspace-4.1.0 In practice, this is required - the description suggests it is only needed for the full kde desktop, but it seems to be essential on all 'nix builds - vast swathes of wallpapers and graphics, but also among other things plasma/containment.h which is needed in kdebase. Kdebase-4.1.0 These are the applications which all kde programs can expect to exist. I did think I could try not building all of them the second time, to save having to build kdebase-workspace. I can't recommend that - you run cmake in the top directory, then cd into each of the application directories that you care about (they're all under apps/) and run 'make' and 'make install' there. This seems to work, but in 4.1.0 konqueror will not run because it fails to install libkonq.so.5 if you do it like that. Some extensions: --------------- Kdegraphics-4.1.0 Builds without any obvious issues. Kdemultimedia-4.1.0 In 3.5 I only build and install kmix. Here, I thought I'd give it all a go, less whatever I didn't get because of my lack of MusicBrainz and TunePimp. In fact, build failed quickly in 'juk' on an undefined structure Tglib::Tag. No references to this in the release announcement for 4.1.1 so I went back to building only kmix - as noted under kdebase, you have to run cmake for the package itself, then cd to the required directory and run 'make' and 'make install' there. That seems to work. Comments on some of the apps: ---------------------------- dolphin - I don't normally use file managers, konqueror still seems to do file management (e.g. open, or pop up open-with dialog), so I don't know what this is for. gwenview - for me, this can only open jpegs. I've ensured kamera is built (with its own copy of dcraw), but that doesn't install any application I can specify in "open with", so my .orf (Olympus raw) files are unavailable. Strange. kmix - works, but when run from a directory in /opt it can be a job to get it to actually produce a display: on my LFS-6.3 x86, passing the full PATH for qt and kde in the environment helped, on the newer x86_64 install it seemed to need both LD_LIBRARY_PATH and XDG_CONFIG_DIRS which was a bit odd. konqueror - much improved (it uses xft, in my case Bitstream Vera [ a very anglocentric set of glyphs ] seems to correctly render e.g. czech, greek, russian - in kde3 I have to change the font to get these all rendered. However, I have one show-stopper bug on this - when I start it from a terminal, and then close it, I don't get the session back. If I ^C and then launch it again it tells me it wasn't shut down properly and gives me the option to reload the previous session. Nothing on google about this, and nothing in the changelogs for 4.1.1. Maybe it's a missing dependency, who knows ? konsole - seems to work. I use basically white-on-black colours, the option nearest to that is a bit dull for my liking but I dare say it might be tweakable. Since I use rxvt-unicode, I didn't waste time trying to configure konsole to my likings. ksnapshot - seems to work, might be useful. kbackgroundsnapshot - seems to be similar, but tried to save to the same default file name as ksnapshot, gave me an error dialog because it couldn't write it, and failed. okular - works for pdfs. As long as I don't have to pass a file name to it, this would be ok (I loathe the "scroll sideways to see the files available" kde dialogs). In particular, this works on x86_64 too (gcc-4.2 series, xorg-7.3 with xcb, where 64-bit evince can crash my X session). plasma - provides the kde desktop (background, panel, menu). On my LFS-6.3 install I was unable to logout from this, and ctrl-alt-backspace just gave me a black screen. I'm sure it works when used _by_ the kde apps, but running it from the command line seems to be a bad idea (I only tried it to find out what it is for). xf86gammacfg - some sort of command-line front end to xgamma, no obvious benefits. I was thinking about moving to 4.1 in a regular new build (everything in /usr) - I'd miss kaffeine (not yet converted to kde4) but that isn't something I use a lot. The inability to shut konqueror down cleanly will probably stop me trying that for now. Hope this helps people to understand how kde4 fits together, and what is actually needed if you just want to run some kde applications. ĸen -- das eine Mal als Tragödie, das andere Mal als Farce -- http://linuxfromscratch.org/mailman/listinfo/blfs-support FAQ: http://www.linuxfromscratch.org/blfs/faq.html Unsubscribe: See the above information page