On Sat, Sep 14, 2013 at 02:42:13AM +0200, Adam D. Ruppe wrote: > On Friday, 13 September 2013 at 22:34:44 UTC, Justin Whear wrote: > >This is a distribution problem; I've stuck with Debian or > >Debian-based distros over the years and never had issues like > >this. > > I've used them too... ever have a proprietary requirement that only > works with, say, php 5.2, but only php 5.1 is available in the repo? > > Or a custom built thing the company relies upon.... but no longer > has the source, and their old server just died? Or, has the source, > but it only compiles with one specific setup anyway. > > I've had to deal with stuff like this several times, and the package > manager fights me every step of the way.
When I custom-install stuff, I usually put it in /usr/local/*, or even give it a dedicated home in /home (though usually just /usr/src/$pkgname/install or some such), away from the package manager managed stuff. It tends to work far better that way. Fighting with the package manager never ends well, as does installing external files into directories managed by the package manager. Almost all modern sources come with PREFIX configurability -- those that don't tend to be so fundamentally b0rken anyway that I don't even bother with them in the first place. But you have my sympathies if you're compelled to do so by work requirements. In that case, I'd use a chroot and custom install all system binaries so that I control exactly what goes in there, and never have the package manager interfere with me. > Or, on my home computer, someone wrote something cool.... but of > course they don't offer a package for my system. (At home, I use > Slackware.) So it is time to build from source. Great, but then it > is time to track down a hundred tiny libraries (seriously, a 10 kb > library, why didn't you just include that in your own source?), of > course matching the version too. What a hassle! I find that even with sources downloaded from some random person's "cool proggies" website, apt-get install libabc123-dev tends to work quite well, where abc is the name of the library and 123 is the desired version number. You do have to get to know Debian naming conventions for these things to be able to find them easily, though. Or know how to find out the right name(s). My go-to tool is apt-cache search, which is pretty good at finding libraries most people need. It also helps to know how to coax apt-get to fetch specific library versions instead of the default latest version. If I have to install libraries not in the apt repository (or multiple conflicting versions of the same library), I tend to put it either under an entirely different PREFIX, preferably under a dedicated subtree for the app I'm trying to build, or inside a chroot if all else fails. This way I can install libfoo101-dev for randomapp123 in one place, and never have it conflict with libfoo109-dev for randomprog321, which exists in a completely unrelated directory tree. The library can be so b0rken as to use the same soname for incompatible ABIs, and they won't step on each other's toes. For this latter case, chroots are the most convenient setup, otherwise you have to munge around with LD_LIBRARY_PATH, which can get quite messy. (Thankfully, you can put this in a wrapper shell script that hides away the mess under a convenient command in your $PATH, so the pain only has to be felt once.) Generally, all of this is still less painful than trying to make a random binary executable run. For all you know, you could be wasting your time trying to run a Solaris binary on an i386 system. There are just too many possible configurations out there for binary distribution to be viable, except when you're the distro provider. > Hence my first comment: I prefer to just grab the Windows version > and run it in wine. That usually just works. I dunno, wine doesn't seem to like my GUI configuration (or lack thereof :-P). It just falters in its steps and gasps every now and then, that I don't trust that whatever program it's running is actually doing what it should be doing. I still rather build from source. T -- "A man's wife has more power over him than the state has." -- Ralph Emerson