Jeff Duntemann's Contrapositive Diary Rotating Header Image

Rant: That Old Linux Package Format Blues

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’m not Cing evil spirits at work hereabouts, frustrating my efforts to popularize Pascal.

A lot of this has to do with Linux software package formats. I’m trying to write a chapter in a beginners’ book describing how to install the FreePascal/Lazarus compiler/IDE combo. For Windows it’s easy: Download the executable installer, run it, and answer the wizard’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’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’s how they wrote it, and when you run Lazarus in the absence of FreePascal’s source code, it complains, and warns that some (unspecified) subset of its features may not work.

The rpm package, on the other hand, is current and complete. In the installation chapter I’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 “yum install lazarus.” (I haven’t tried that yet; more on why a little later.) YaST has OpenSuSE covered. But with the Linux market leader, I’m hosed.

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’t about or for me. It’s for people who are just starting in on programming and may be just trying out Linux. I don’t want to explain how to frakking rebuild the whole damned 200 MB monstrosity from source code. (Wasn’t CP/M Turbo Pascal happy to take up 24 KB? Does anybody even remember that old letter “K”?) All that is beside the point. The real question is this: Why can’t the FreePascal/Lazarus guys keep a workable deb package together? I know enough about Debian package management to be sure that it’s possible. (I don’t knows enough, alas, to do it myself.) It isn’t being done. And nobody seems to want to talk about why.

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…

  • I created a new VM in Workstation 5 for Fedora Core 12. The install failed partway through, with the VM locked up. “He dies and gives no sign.”
  • Ditto a VM for OpenSuSE. Ditto. The YaST installer could not detect the virtual hard drive created for the VM, so we didn’t even get as far as installation.
  • 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.

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 like OpenSuSE. (This is the first time I’ve ever laid hands on it.) The OpenSuSE Build Service is a thing of beauty.

The double VM fail is a puzzler. And that led to me wonder if newer distros just don’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…and VMware doesn’t seem to know how to license it. I’m sure they don’t do much business in boxed product, but that’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’t run. We’re three days into this adventure, and I’m sure nothing will get resolved until Monday. If then.

You wonder why I hate activation systems so violently.

And people wonder why tech books take so long to write.

Screw it. It’s the weekend. I’m going to find the nearest bag of potato chips and eat the whole damned thing.

8 Comments

  1. Pablo says:

    So, maybe my recollection is wrong, by I thought the latest VMware player was free now, and you can download pre-installed VMware images for I think any free Linux OS you can imagine (although often without VMware tools installed).

    http://www.vmware.com/products/player/

    1. It is–and (more to the point) people have posted some very nicely configured (if large) Linux VMs for downloading. I’ll describe this evening’s experiences in tomorrow’s entry.

  2. Erbo says:

    Have you looked at VirtualBox? It bears about the same relation to VMWare that OpenOffice.org does to Microsoft Office. I’ve used it successfully with Linux hosts to run both Linux and Windows guest OSs. Might be worth a try, rather than wrangling with VMWare over license key issues.

    1. Yes–in fact I’ve had it installed on a couple of machines here, but I have five years’ experience with VMWare and consider it well worth the $180–assuming I can run it. I never had this problem with Workstation 5, so I don’t know what the hassle is, but I’ll tell you, every day that goes by makes VirtualBox look better and better.

  3. Looks like the upcoming Ubuntu 10.04 will have the current Lazarus packaged for it.

    1. Boy, now there’s a wish I hope comes true! Of course, they can make it current without fixing the problem of not installing the compiler source, but I’m hoping they’ll bring it up to par with the rpms. Failing that, my best option will be showing people how to use alien to make a deb out of an RPM. The book won’t be done until April or May, I’m thinking, so the timing will be about right.

  4. filofel says:

    Hi Jeff,

    try this one:

    deb http://www.hu.freepascal.org/lazarus/ lazarus-stable universe

    There might be other reps than lazarus-stable there, look around.

    As far as I know, the sources are in the package.
    Lauch lazarus as root or from a sudo, go tools / configure “build lazarus”. The defaults there should be preset for the package you downloaded.
    Then run tools / build Lazarus, it whill recompile the whole mess.

    I never had to use the lazarus tarball with Ubuntu, ever…

    P.S.:
    The URL below will help even more, since it tell you the auth
    key and the whole explanation.

    http://wiki.lazarus.freepascal.org/Getting_Lazarus

    P.P.S.:
    I posted this yesterday on the “livejournal” copy of your diary, it seems they are not merged, so I’m reposting here. Sorry if I shouldn’t have! 😉

    1. Never hesitate to post a useful comment on both of my sites–and this may be real damned useful. The two sites are read by two different groups of people, so it’s good to have important comments in both places.

      I’ll try this and see what happens as time allows. The FreePascal book is a “free time” project, and that means it advances by fits and starts.

      Good luck and thanks for posting this!

Leave a Reply to Jeff Duntemann Cancel reply

Your email address will not be published. Required fields are marked *