Back to article
.comment: KDE3 Is Coming
Building KDE and Qt 3
October 10, 2001
The first alpha of KDE version 3 is out there, and in keeping with its status as a first alpha, it ain't soup yet.
I downloaded and built it over the weekend, and used it a little, so I have a few impressions. A lot of applications have been ported over, mostly imperfectly. This, in turn, is due in part to the beta status of QT-3.0. But before we get to a discussion of KDE3, a little tutorial on how you would go about building it if you were me. It requires an orderly approach, which anyone looking at my desk would recognize as an alien idea around here.
The first thing to do is go to the Troll Tech site (ftp://ftp.trolltech.com/qt/source/) and download qt-x11-free-3.0.0-beta6.tar.gz. You will get nowhere without it. The second thing to do is go to the KDE ftp site (ftp://ftp.kde.org/pub/kde/unstable/kde-3.0-alpha1/src/ or one of its mirrors) and download
You will now have the building blocks (though you'll need, probably, to get the now-deprecated kdesupport from someplace if you've installed your KDE to /opt, because you'll need libraries you're going to lose when you move your kde-2.x out of your path).
If you use a distribution that installed KDE-2.x to someplace other than /opt, you may now delete the files you just downloaded, because it aintagonna happen. All you'd do by building KDE3 now is break your computer. Enjoy your current desktop and wait until KDE3 is released. Or get a different distribution -- my preference in this regard is SuSE, in no small measure because it doesn't dump desktops into /usr.
For those still with us, time now to dump out of your desktop and X entirely. Time, too, to either backup or rename everything KDE-related. My favorite trick is to have all pertinent directories as symbolic links: /opt/kde, /usr/lib/qt, and ~/.kde, which on my machine usually point to /opt/kde-221, /usr/lib/qt231, and ~/.kde221 respectively. This way, it is possible to make directories named /opt/kde3a1, /usr/lib/qt3b6, and ~/.kde3a1, and make new symlinks that point to them, thereby eliminating any need for rearrangement of paths of executables or libraries. It also makes returning to my perfectly functioning KDE-2.2.1 system a matter of returning three symlinks to their original objects. This is especially useful if something blows up part way and you need to return to X to ask a question or read online docs, and you do not have a console mail program configured and do not like surfing with Lynx. You can easily bring this about by simply renaming your existing directories, noting their original names for symlink creation. In any event, you want to preserve in pristine form your current setup.
Next, open the QT beta in /usr/lib, and point your /usr/lib/qt symlink to the resulting directory. You'll need to build QT before you do anything else. Even if you're familiar with building QT, there are a few things that are different this time out. The first is in the configure options. The recommended command is this:
./configure -system-zlib -qt-gif -system-libpng -no-mng -disable-sql-thread -no-stl -no-xinerama -no-g++-exceptions
The configure process will plug along for a little while, ask you if you accept the license, and then tell you to run gmake. That's right: the command is gmake. Then go do something else for an hour (if you have a very fast machine) or a couple of hours (if you have a slowish machine). In due course your QT beta will be built. In that you've built it in place, there is no further command necessary.
Now it's time to build the new KDE itself. Open each of the files -- I do it as I go along, to keep track of that which I've built and that which I haven't. The commands for each, if you're set up with the symlink system I recommend, are:
./configure --prefix=/opt/kde make make install (this, of course, as root)
The packages need to be built in this order: kdelibs, kdebase, the rest in whatever order you like except for the optional kdebindings, which must be built after kdemultimedia. If you get configure errors, especially likely during kdelibs and kdebase, you'll need to install the appropriate -devel packages for your distribution (this is the case with SuSE and SSL, for instance), and possibly get and build kdesupport, which has been removed from the standard KDE distribution even though it includes things that KDE needs. I understand the reasoning behind this, but think it's a bad idea anyway.
When you've built and installed all the packages, returning to your home directory and typing startx should produce a bright new KDE3-alpha1 desktop.