What a production...
Oct. 3rd, 2004 09:29 amI decided to put client software on my Linux-based environment. Now I understand that installing end user software in Linux is a bit trickier than it is for Windows, mostly because the setups and distributions vary so widely. Still...
They offer three choices, and I decided to try drivel first (well, the name seems appropriate.) Downloaded, it wasn't too huge, about a Mb, so I unpacked and ran the configuration script. It runs for a while, and starts complaining that I have no FORTRAN compiler. FORTRAN? To handle text strings and html? Well, I could install one, I know there's a Fortran-77 package on my distribution CD, but why? Then I noticed that the configure script didn't consider this to be a fatal error. It grinds on some more, then complains that I don't have XML::Parser installed. That's a perl module, apparently, and though I do use perl and have it installed, I haven't messed much with extensions. No prior warning was given that drivel required this, no hint in the README that it is needed or where to get it. Check Google, all that comes up are prepackaged versions of the module intended for Debian. I don't use Debian. This time the error is fatal. OK.
A little miffed at the drivel developers for their unhelpfulness, and having wasted more than an hour on this, I went back and got a different client package, logjam. This one has apparently been around a bit longer, since it's in version 4 already. I do some checking, it appears to want a couple of dependencies that I know are already installed, and would like xmms (presumably to look up music selections) but that's optional. I do have xmms already, so I downloaded logjam, and looked for a standard README file to confirm the dependencies. There isn't one. No README, no INSTALL, no CHANGELOG, nothing. Not a hint or a word of advice to the newbie or novice on how to install this package. Fortunately, I'm not a newbie, but I begin to understand why some novices throw up their hands in despair at Linux. Following the typical procedure, I run ./configure. This one doesn't go looking for FORTRAN, at least. But eventually, the same fatal error. It wants XML::Parser.
Pretty steamed now at the failure of developers to provide adequate information, I headed off to CPAN to look for this perl module. Sure enough, it's there. Downloaded, unzipped, unpacked. Gah! It has yet another dependency, something called expat. Back to CPAN, track that down, unzip, unpack, configure, make, test, install. It seems to work. Now I can install XML::Parser, which requires a non-standard (to me) installation that runs in perl. Fortunately, the developers did see fit to describe the process in a README. It installs without complaint.
Back to logjam, run ./configure again, this time it finishes. Do the make, install, and voila! Only two and a half hours of detective work, downloading, and compiling to get a usable client. As much as I like using Linux, I have to agree with those who say it still needs some major improvements.
They offer three choices, and I decided to try drivel first (well, the name seems appropriate.) Downloaded, it wasn't too huge, about a Mb, so I unpacked and ran the configuration script. It runs for a while, and starts complaining that I have no FORTRAN compiler. FORTRAN? To handle text strings and html? Well, I could install one, I know there's a Fortran-77 package on my distribution CD, but why? Then I noticed that the configure script didn't consider this to be a fatal error. It grinds on some more, then complains that I don't have XML::Parser installed. That's a perl module, apparently, and though I do use perl and have it installed, I haven't messed much with extensions. No prior warning was given that drivel required this, no hint in the README that it is needed or where to get it. Check Google, all that comes up are prepackaged versions of the module intended for Debian. I don't use Debian. This time the error is fatal. OK.
A little miffed at the drivel developers for their unhelpfulness, and having wasted more than an hour on this, I went back and got a different client package, logjam. This one has apparently been around a bit longer, since it's in version 4 already. I do some checking, it appears to want a couple of dependencies that I know are already installed, and would like xmms (presumably to look up music selections) but that's optional. I do have xmms already, so I downloaded logjam, and looked for a standard README file to confirm the dependencies. There isn't one. No README, no INSTALL, no CHANGELOG, nothing. Not a hint or a word of advice to the newbie or novice on how to install this package. Fortunately, I'm not a newbie, but I begin to understand why some novices throw up their hands in despair at Linux. Following the typical procedure, I run ./configure. This one doesn't go looking for FORTRAN, at least. But eventually, the same fatal error. It wants XML::Parser.
Pretty steamed now at the failure of developers to provide adequate information, I headed off to CPAN to look for this perl module. Sure enough, it's there. Downloaded, unzipped, unpacked. Gah! It has yet another dependency, something called expat. Back to CPAN, track that down, unzip, unpack, configure, make, test, install. It seems to work. Now I can install XML::Parser, which requires a non-standard (to me) installation that runs in perl. Fortunately, the developers did see fit to describe the process in a README. It installs without complaint.
Back to logjam, run ./configure again, this time it finishes. Do the make, install, and voila! Only two and a half hours of detective work, downloading, and compiling to get a usable client. As much as I like using Linux, I have to agree with those who say it still needs some major improvements.
no subject
Date: 2004-10-03 02:39 pm (UTC)no subject
Date: 2004-10-03 02:46 pm (UTC)Not telling the user up front what the dependencies are, however, is bad. In fact it stinks. Especially if your project/package is something that non-geek end users are likely to try to install and use.
Dependencies should be identified at the top of the documentation. For each one, a pointer should be provided on where to get a current version of it.
And distributing a package with no README and no instructions at all is just unforgiveable.
no subject
Date: 2004-10-03 07:38 pm (UTC)A good package manager that manages them for you is even better. What distribution are you using that doesn't have one?
no subject
Date: 2004-10-03 11:07 pm (UTC)That's OK. Yes, it's not as smooth and easy as end users would like. But if the thing is in rapid development or something, I can understand. What I am objecting to is people putting a raw source package out there without even providing an accurate list of dependencies and without even the merest outline of the steps needed to get it compiled and running.
I've worked professionally with UNIX/Linux systems for over 15 years now. Sure, I know how to do this, I just did. But I get real tired of the old UNIX attitude about "It's the learning curve, you just have to learn how." Or, what this translates to: "We had to learn the hard way, why should we make it easier for anyone else?" Or maybe, "If you don't already know everything, we don't want you using our code."
This is a Livejournal client. People who use Livejournal are not necessarily programmers or network administrators. You have to give them at least a hint. I don't think Linux ought to be a system available only to the "l33t" hacker who sneers at newbies. But this is just the impression we keep giving them. It's not that hard to put a README into an archive. I still think not having any information at all in there is just plain lazy. The moreso since if you ask livejournal.com what client to use for Linux, that's where they point you.
no subject
Date: 2004-10-04 12:22 am (UTC)A real package manager (like Gentoo's emerge or Debian's apt would handle these dependencies for you.
And yes, these packages are available on Gentoo and Debian. I checked. (Gentoo: logjam drivel, Debian: logjam drivel)
no subject
Date: 2004-10-04 12:27 am (UTC)no subject
Date: 2004-10-04 12:56 am (UTC)If you want your software to be used, it has to be integrated. Integration includes providing appropriate documentation, installation instructions, and packaging. Even Linux developers need to do this. Maybe they especially need to do it, to help overcome the bad reputation Linux has for being "hard to use", "hard to install and configure", and "suitable only for the geek."
Slackware's package management tools are based on the Sys V model, which I agree is inadequate. I have used RedHat's rpm and AIX's install. I know it can be done better. But I also believe that Linux developers and distributors need to grow up NOW and agree on a standard that will work for all distributions, instead of the hodgepodge that we have now.
Now, if there are packages already configured for Debian and Gentoo, why is this not obvious when one goes through the LJ FAQs looking for Linux clients? Part of that responsibility falls on the shoulders of LJ staff, I'd say, who are also not doing their job. If they want to promote LJ, and support Linux, both of which are excellent objectives, then they need to provide information suitable for the average end user, not just for the experienced professional or advanced amateur.
Two options
Date: 2004-10-04 06:56 pm (UTC)2. Switch to FreeBSD :P
Hmmm, I wonder
Date: 2004-10-04 08:25 pm (UTC)Re: Hmmm, I wonder
Date: 2004-10-05 11:36 am (UTC)No, we do not need yet another weird Linux distribution.
And I do find Linux more coherent than FreeBSD. BSD looks really dated if you cut your *NIXteeth on SysV as I did.