[OT] Which IDE / Editor do you use?

H. S. Teoh hsteoh at quickfur.ath.cx
Sat Sep 14 00:34:07 PDT 2013


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


More information about the Digitalmars-d mailing list