.comment: Something for Everybody - page 2
The Resurrection and the Light
My plan had been for this column to be about KDE-2.2 alpha 1, which on Monday could be downloaded from the KDE CVS tree. It doesn't deal with that subject because 24 hours later the compile was still underway. The compile was still underway because I had to compile kdelibs four times; the first three it choked on libmysqlclient.so.
MySQL? What in the world does MySQL have to do with it? Seems as if, in order for KOffice's ReKall database app to work, there needs to be something compiled in having to do with libmysqlclient.so. (In that KOffice and KDE have adopted separate release schedules and can be thought of as separate products, it would seem that such support would properly be built when KOffice is, but that's not how it has turned out.) The MySQL development stuff was in /usr/lib/mysql -- except for libmysqlclient.so, which in my and apparently several other distributions is placed in /usr/lib. When it wasn't in /usr/lib/mysql, the build bombed.
After the first failure, which came about 90 minutes into the build of kdelibs, I made a symbolic link, effectively putting libmysqlclient.so into /usr/lib/mysql. Now it bombed (after an hour and a half) because libmysqlclient.so was built against glibc-2.1, and I'm running glibc-2.2.
Hell with it, I said, and did rpm -e mysql. And ninety minutes later I hit what would be a problem with my nifty package manager, unless distributions went along with some kind of naming convention in which packages would not be chopped up like so many fryers enroute to the barbecue. Deleting mysql, it turned out, wasn't enough: I also needed to delete three other mysql packages -- mysql-client, mysql-bench, and mysql-devel -- before the stake was finally through its binary heart. Likewise, KDE itself, when in binary form, is sometimes chopped up into more than two-dozen packages. And XFree86!
Typically, programs get split into regular and -devel packages when precompiled. A super package manager would need to cook up a way to reconcile these names. Only then could something like deletion be useful -- and deletion would be one of its most useful features.
(While I'm here, a couple of notes about KDE-2.2 alpha 1: If you don't have it, and if you're a pure KDE user you won't, you'll need to get libxml2-2.3.5 or better if you want to have your help system build properly -- a nice piece of cooperation between KDE and Gnome. And while I haven't had a chance to really wring it out yet, it seems solid enough with a few nice new features. If you're building from CVS, go ahead and built qt-copy, too, because it has a couple little fixes that didn't make it into the release QT-2.3.0. I haven't had the opportunity to play with the new print engine yet, or really take the much-improved KWord through its paces. But from initial looks, KDE-2.2 will be a considerable upgrade. And I'm given to understand that the mysql issue will become a little less drastic in its results, if it isn't fixed already.)
As the Linux community looks at the future, there are the usual divisions -- distributions, versions, desktops, and so on -- and one that to me is becoming greater and more troubling: The apparent discouragement of those who would like to compile their own stuff. Time was, people would use binary packages for an initial installation of their distribution and until they developed the relatively few skills necessary to do their own compiling. But this has come to be increasingly impractical, as systems rely more and more on package management systems.
My idea, stolen from the Wise Machine in the new eComStation, is one way of reconciling the two and eliminating that divide. There are probably other, more elegant, ways of doing it. Great. But we need something to do the job, and right now we don't have anything even close to adequate to the task.