{"id":1107,"date":"2010-01-30T18:24:49","date_gmt":"2010-01-30T22:24:49","guid":{"rendered":"http:\/\/www.contrapositivediary.com\/?p=1107"},"modified":"2010-01-30T18:26:31","modified_gmt":"2010-01-30T22:26:31","slug":"rant-that-old-linux-package-format-blues","status":"publish","type":"post","link":"https:\/\/www.contrapositivediary.com\/?p=1107","title":{"rendered":"Rant: That Old Linux Package Format Blues"},"content":{"rendered":"\n<p>I described <a href=\"http:\/\/www.contrapositivediary.com\/?p=1072\">my <em>FreePascal from Square One<\/em> book project<\/a> in detail a couple of weeks ago, and I work on it as time allows. There have been some hangups; in fact, I sometimes wonder if I&#8217;m not Cing evil spirits at work hereabouts, frustrating my efforts to popularize Pascal.<\/p>\n<p>A lot of this has to do with Linux software package formats. I&#8217;m trying to write a chapter in a beginners&#8217; book describing how to install the FreePascal\/Lazarus compiler\/IDE combo. For Windows it&#8217;s easy: Download the executable installer, run it, and answer the wizard&#8217;s questions. I ran into a stone will with Ubuntu: There is a deb package for Lazarus (which includes the FreePascal compiler binaries) but it&#8217;s ancient, and much worse, it does not install the compiler source code, which Lazarus needs. Now, why an IDE needs the source code for its compiler is obscure, but that&#8217;s how they wrote it, and when you run Lazarus in the absence of FreePascal&#8217;s source code, it complains, and warns that some (unspecified) subset of its features may not work.<\/p>\n<p>The rpm package, on the other hand, is current and complete. In the installation chapter I&#8217;d like to describe installation in detail for Windows and the three most popular Linux distros: Ubuntu, Fedora Core, and OpenSuSE. Fedora and OpenSuSE use RPMs. No problem there. Installing Lazarus under Fedora may in fact be as simple as opening a console and typing &#8220;yum install lazarus.&#8221; (I haven&#8217;t tried that yet; more on why a little later.) YaST has OpenSuSE covered. But with the Linux market leader, I&#8217;m hosed.<\/p>\n<p>Yes, I know, there are solutions: Get the tarballs from the Web site, build the whole damned thing from source, convert from rpm to deb with Alien, etc. etc. etc. I can do that stuff. But this isn&#8217;t about or for <em>me<\/em>. It&#8217;s for people who are just starting in on programming and may be just trying out Linux. I don&#8217;t want to explain how to frakking rebuild the whole damned 200 MB monstrosity from source code. (Wasn&#8217;t CP\/M Turbo Pascal happy to take up 24 KB? Does anybody even remember that old letter &#8220;K&#8221;?) All that is beside the point. The real question is this: <em>Why can&#8217;t the FreePascal\/Lazarus guys keep a workable deb package together?<\/em> I know enough about Debian package management to be sure that it&#8217;s possible. (I don&#8217;t knows enough, alas, to do it myself.) It isn&#8217;t being done. And nobody seems to want to talk about why.<\/p>\n<p>Not having a complete install for Ubuntu made me uneasy about running tests in Lazarus under Ubuntu, so I realized I would have to get instances of Fedora Core and OpenSuSE together. How hard could that be? Well&#8230;<\/p>\n<ul>\n<li>I created a new VM in Workstation 5 for Fedora Core 12. The install failed partway through, with the VM locked up. &#8220;He dies and gives no sign.&#8221;<\/li>\n<li>Ditto a VM for OpenSuSE. Ditto. The YaST installer could not detect the virtual hard drive created for the VM, so we didn&#8217;t even get as far as installation.<\/li>\n<li>I reformatted an old Kubuntu partition on a machine downstairs and attempted to install Fedora on it. Different fail, but fail nonetheless. The DVD vetted itself with a clear bill of health, but I may download it again anyway.<\/li>\n<\/ul>\n<p>I managed to get OpenSuSE to install on that same partition, so I finally have a complete and trustworthy Linux installation of Lazarus. And I will say that I really <em>like<\/em> OpenSuSE. (This is the first time I&#8217;ve ever laid hands on it.) The <a href=\"http:\/\/software.opensuse.org\/search\">OpenSuSE Build Service<\/a> is a thing of beauty.<\/p>\n<p>The double VM fail is a puzzler. And that led to me wonder if newer distros just don&#8217;t play well with 2004-era Workstation 5. So I finally took my still-sealed retail copy of Workstation 6 off the shelf, installed it, registered it&#8230;and VMware doesn&#8217;t seem to know how to license it. I&#8217;m sure they don&#8217;t do much business in boxed product, but that&#8217;s no excuse. Email tech support with their Indian support people has a 24-hour turnaround, and the last time I got a response, the guy sent me the serial number for my copy of Workstation 5 and told me to use that, as it was already licensed. Gakkh. So they have my $180, and I have a copy of Workstation 6 that won&#8217;t run. We&#8217;re three days into this adventure, and I&#8217;m sure nothing will get resolved until Monday. If then.<\/p>\n<p>You wonder why I hate activation systems so violently.<\/p>\n<p>And people wonder why tech books take so long to write.<\/p>\n<p>Screw it. It&#8217;s the weekend. I&#8217;m going to find the nearest bag of potato chips and <em>eat the whole damned thing<\/em>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I described my FreePascal from Square One book project in detail a couple of weeks ago, and I work on it as time allows. There have been some hangups; in fact, I sometimes wonder if I&#8217;m not Cing evil spirits at work hereabouts, frustrating my efforts to popularize Pascal. A lot of this has to [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[26],"tags":[59,90,14,20],"class_list":["post-1107","post","type-post","status-publish","format-standard","hentry","category-rants","tag-linux","tag-pascal","tag-software","tag-writing"],"_links":{"self":[{"href":"https:\/\/www.contrapositivediary.com\/index.php?rest_route=\/wp\/v2\/posts\/1107","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.contrapositivediary.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.contrapositivediary.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.contrapositivediary.com\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.contrapositivediary.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1107"}],"version-history":[{"count":1,"href":"https:\/\/www.contrapositivediary.com\/index.php?rest_route=\/wp\/v2\/posts\/1107\/revisions"}],"predecessor-version":[{"id":1108,"href":"https:\/\/www.contrapositivediary.com\/index.php?rest_route=\/wp\/v2\/posts\/1107\/revisions\/1108"}],"wp:attachment":[{"href":"https:\/\/www.contrapositivediary.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1107"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.contrapositivediary.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1107"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.contrapositivediary.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1107"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}