|
.comment: Road Building
Compiling on the FlyYou may be among those tormented by the question: Which takes longer, compiling the KDE-2.2 beta on a Pentium 166 with 104 megs of memory or driving from Western Connecticut to Key West, Florida, on a busy holiday weekend? If you are, your anguish is soon to be relieved. I've tried, over time, to resolve the burning issues that don't quite make it to the FAQ lists because it would involve too much work to provide an accurate answer. It was me, for instance, who proved that it is possible to run Microsoft Bob in a VMware virtual machine. This is not the kind of information you can get anywhere else. It is a valuable service, understanding that value is a continuum that begins immediately above zero. Motivated to add primary research to the world's store of knowledge and thereby uplift all persons, last week I hopped into the rental car, fired up the motor, typed "./configure", and headed down the road. Actually, I needed to drive to Florida for family events and I also needed to compile the KDE-2.2 beta so as to look it over. So I got a little Tripplite inverter to plug into the cigarette lighter, plugged my Thinkpad's power supply into the inverter, and plugged the Thinkpad into its power supply. Admittedly, the juice from a cigarette lighter isn't the cleanest stuff in the world, but I figured that there were sufficient protections in the heat-generating boxes between the lighter and the computer to arrive at useful volts, and I was right. I ended up with my little computer sitting on the passenger seat, screen and keyboard facing me. Also facing me was 1,600 miles of Interstate highway and, at the end, some winding and dangerous two-lane stuff -- U.S. 1 from the end of I-95 to the end of the U.S. Compiling KDE involves building 12 packages. The first is kdesupport, which I understand is due to be deprecated, but if it comes with the CVS harvest I build it, and this time it did so I did. It doesn't take long -- it was done by the time I hit the I-84 construction delay at 5:05 a.m., 15 miles from my house. This gave me time to change directories and start the build of kdelibs, the second package to compile when you're growing KDE from seed. And it proved that the command buffer in bash is more than a convenience. Building each of the packages involves these commands: ln -s ../kde-common/admin ./ make -f Makefile.cvs ./configure --prefix=/opt/kde make make install cd ./kde[next package] With the scrollable buffer, only the directory change requires and real attention; for everything else, it's simply six taps of the up arrow and hitting the enter key. This is a considerable advantage when doing important research while also trying to avoid wrecking the car, in that several of the commands take a little time to complete. I was able to get by just fine, eyes on the road and hand firmly on the wheel, except when changing directories, for which I determined I would stop. It turned out to be no problem, because it didn't come up all that often.
Averting a Buffer OverflowI was able to get kdelibs started at 5:08 a.m., and scrolled to "make" at 5:12, when I turned south on I-684. The compile continued as I turned off on the Sawmill River Parkway, as I turned onto the Sprain Brook Parkway, as I crossed the George Washington Bridge, as I headed down the New Jersey Turnpike, as I paid the toll at the Delaware (state motto: "Interesting corporate law and a state budget financed entirely by traffic tickets") Memorial Bridge. It was welcomed by Maryland, and though the back up on the Washington D.C. Beltway due to a traffic accident seven hours earlier caused me to spend an unscheduled two hours parked on that roadway, the compile of kdelibs continued unhindered. It finally got done just as I was pulling into a filling (and emptying) station in Springfield, Virginia, where I needed to fill the gas tank and do what I could to minimize permanent kidney damage from too much coffee combined with an unanticipated Beltway delay. (The rental car company will never know how happy it is that the traffic did finally start moving.) So it was that just before noon I started the compile of kdebase. It cooked along through Virginia and most of North Carolina before it errored out. The problem was something with the theme manager. Let me pause for a moment to suggest that there's been all together too much made of themes, in KDE and everywhere else. They're fine, but they're certainly not essential. They and their manager belong not in kdebase, which is not optional, but in kdetoys, which is. Their current placement only gives ammunition to those who argue that we're not quite grownups. Anyway, I crossed my fingers, hit the up arrow, added an "-i" to "make," and hit enter. This seemed to satisfy kdebase, because it compiled its way through the rest of North Carolina, all of South Carolina and Georgia, and well into Florida. By the time it finished, it was about 10 p.m. and I had driven 1144 miles. I pulled over and got a room for the night In Daytona Beach, home of fast cars and the second-worst motel I've ever stayed in (the worst being in Pensacola in 1997). It looked as if I'd be at my destination before KDE got built, but the other packages are smaller and compile more quickly. Bright and early next morning, I headed out in heavy I-95 traffic, kdeadmin starting to do its stuff. It finished about Jupiter (where a fellow pulled out in front of me, causing me to hit the brakes hard and mutter at him, "you may be in a Saturn, but your head is in Uranus"), and I started kdegames. It finished a few minutes after I arrived in Fort Lauderdale, where I was stopping for the day to see family. Next morning I headed out, now with my wife, who'd flown in the night before, aboard, ready for the several hours to Key West. Just as we left the motel I started the build of kdegraphics. It finished just as we were entering Key Largo. Next up was kdemultimedia, which chugged along up to and including the time spent having lunch at ChilliWillie's in Islamorada, whose mascot is a penguin. I started kdenetwork, which was still compiling in the car as we checked into the guest house in Key West. In fact, there were 11 additional hours of compiling before, finally, koffice (which isn't technically part of the kde distribution) blew up somewhere in killustrator and could not be made to continue. So, then, the answer is that it's not even close -- one could drive to Key West from Connecticut and nearly halfway back in the time it takes to compile the KDE-2.2 beta on my dinky notebook. Which proves -- what? Well, nothing, except that you could easily build KDE-2.2 beta on a ride from, say, New York to Los Angeles. And, of course, that truly herculean efforts in pursuit of absolutely nothing useful can make an otherwise boring ride a little more amusing. Having built the beta, I realized that I was in no position to check out the features that most interest me -- the typeface handling (the notebook obstinately refuses to run any version of XFree86 that supports anti-aliasing) and the new print engine (I brought no printer). The theme engine, of course, doesn't work -- big deal -- though I suspect that that's probably fixed in the current code, given the disproportionate emphasis currently placed on themes. The rest of the apps seem to work just fine, and though I had no real problems with any of them in the alpha release of a few weeks ago, there is a certain, indefinable feeling of robustness in the beta that was absent in the alpha. I'll look at it a lot more closely when I get home -- this is written from a motel room in Florida; after a few hours' sleep I'll head back north. And now, having some fairly accurate times for compilation on the notebook, I hope to compare them with the same work done on a big, fast, desktop with scads of memory. It will be interesting, along the way, to try to learn whether chip speed or amount of memory is the more limiting factor; I suspect that there are curves in both cases that intersect at both top and bottom. But that's for another day. Now to find a mirror that will give me 56k on this motel phone line. Wonder how many miles it takes to compile Open Office . . .
|