0m3g4_w34p0n at earthlink.net
Mon Jan 28 18:35:44 PST 2008
Thought I'd share my progress on building KDE4 with everyone. I think the biggest contribution I have is a nearly-complete dependency list.
Because of the list, this will be a somewhat long message.
A few notes beforehand, I made this list by grepping all the CMakeLists.txt for every package, as well as looking at cmake's output.
I think I've gotten at least mostly everything that is actually checked for (omitting some redundancies), but there may be something required
that is not checked for. Also, note that some optional packages are only optional in the sense that kde will compile without them.
Some, such as pcre, really should be required, as khtml will need it to render many sites.
kdebase has been split into kdebase, kdebase-runtime, and kdebase-workspace. I'm pretty sure kdebase needs to go first, but I am
uncertain as to the order of the other two.
Also, you may notice that I don't have kdelibs or base listed as dependencies for most packages. Everything has a check reading
'find_package(KDE4 REQUIRED)' which looks like a variable expansion, but I could not find a definition of it anywhere. In any case,
I would say to install in order kdelibs, kdepimlibs, kdebase, kdebase-runtime, kdebase-workspace, then everthing else.
All packages compiled with the following commands: (from top sourcedir)
cmake .. -DCMAKE_INSTALL_PREFIX=/opt/kde-4.0.0
Obviously, the prefix can be adjusted to whatever you want. Also, there is a switch analogous to --sysconfdir, but I don't know what it is.
You will want this to put config files into /etc/kde4 or similar. I wasn't too concerned with it myself.
Anyway, on to the dependency list
Required: strigi, jpeg, giflib, libpng, libxml2, libxslt, shared-mime-info, qt4
Optional: alsa, openssl, libintl, xorg, soprano, jasper, openexr, gssapi (kerberos), gamin, acl, avahi, aspell, hspell, enchant, pcre
Required: kdelibs, gpgme, boost
Optional: openldap, cyrus-sasl
Required: kdelibs, qimageblitz
Required: kdepimlibs, samba
Optional: soprano, xine
Optional: lm_sensors, libcaptury, libusb, bluez, networkmanager, libxklavier, libraw1394
Optional: ruby, pyqt4, gmcs, gacutil
Optional: libusb, cfitsio, libsbigudrv, libnova, facile, openbabel2, eigen, boost.python
Optional: gphoto2, sane, exiv2, poppler, ghostscript, chm, djvulibre, tiff, openexr
Required: kdepimlibs, alsa
Optional: taglib, libvorbis, cdparanoia, flac, tunepimp, libtheora, libmusicbrainz
Required: kdepimlibs, boost
Optional: ktorrent, libvncserver, qca2, jpeg, openslp, decibel, libidn, sqlite, xmms, mdnsresponder
Optional: tpctl, python, gmp, libzip, libarchive
A couple other things to note:
1) It looks like kdenetwork still looks for Apple's mdnsresponder, even though kdelibs asks for avahi. Don't ask me why.
2) kdewebdev looks for tidy's header files in /usr/include/tidy/, but the blfs installation puts them directly in /usr/include.
2 seds will fix the problem:
sed -i 's%tidy/%%g' cmake/modules/FindLibTidy.cmake
sed -i 's%tidy/%%g' klinkstatus/src/tidy/tidyx.h
A lot of new packages in the list, and many of them depend on other things not in the book, but I'll leave it here for now.
Ask me if you want any more details.
More information about the blfs-dev