Practical Problems with distribution D projects

Adam D. Ruppe destructionator at gmail.com
Wed Feb 26 09:25:32 PST 2014


On Tuesday, 25 February 2014 at 17:04:11 UTC, John Colvin wrote:
> If by "works for the end user" you mean that you go to a 
> (different for every app) website

I always thought that was the sane way to do it, different 
website for every app, though I loathe and despise chasing down 
library dependencies.

static linking ftw

> other program that does the actual installation... then yes, I 
> guess it does :)

Eh, my standard is dmd: get a zip and run the program with a 
reasonable expectation that it will just work. I don't like 
installers either.

> How can any of those be said to not work for the end user?

yum install php

gets php 5.1, but my other app needs 5.2

something something epel key whatever

yum update php

got php 5.2! .... but php-gd isn't in that repo, so it still is 
5.1 and doesn't work.

wget http://php.net/downloads/whatever/php-5.2.tar.gz
tar zxf blah
cd blah
./configure

missing library X

yum install libx-devel

./configure

missing library Y

yum install liby-devel
no such package

*spend half an hour searching teh web*

yum install libwtf-devel # for some reason liby is in there....

./configure

missing library Z

yum install libz-devel
no such package

wget http://libz.org/downloads/libz.tar.gz
tar zxf
cd
./configure

missing library


You get the idea. finally get that working

cd php
./configure

library Z is version 3.1 but php requries 2.8


here we go again

*six hours later*


OH NO I FORGOT TO ADD --enable-gd TO CONFIGURE :-( :-( :-( here 
we go again

./configure --enable-gd --enable-whatever-else ....
<snip>
sudo make install

$ php
Segmentation fault



AAaaaAaaAaaaAaaRrrrReGGGHHhhhhGH. OK, I admit, I'm combining two 
different horror stories into one here, a php one and a recurring 
hassle I've had with gtk, but still, the point stands.

> It's really very very simple and that's without even
> discussing the GUIs for the point-and-clickers.

When it works, it is great, when it doesn't, you're in a world of 
pain. Getting into the repo can be a pain too, so can compiling 
everything.

On Windows, you just compile on your box and it tends to work on 
others. On Linux, you need a dozen different distros installed to 
build the compatible binaries to package...


More information about the Digitalmars-d mailing list