Dave Howell wrote:
> 
> [ sad tale of dependency hell deleted ]
> Maybe the ruby-core primer could contain information, or a link to
> information, about what's going to be required to work with it? (In this
> case, OSX 10.3.9 apparently isn't good enough. I suppose 10.4's autoconf
> has that extra critical 1/100th of a whatever that makes all the
> difference.) I'm thinking of something relatively broad, like "OSX 10.4,
> RedHat n.n.n, Windows something with development kit X" not something as
> gory as "Autoconf 2.58, gcc compiler 3.3, gcc linker" OK, I have no idea
> what to put after linker, since mine (I think) is "version
> cctools-525.obj~1". But you get my point.
I don't know how this is handled on MacOS, but on "most modern Linux
distros", there is a package/dependency management scheme that, if
properly maintained by the distributor and the user, keeps all of the
dependencies straight. I run Gentoo Linux, and Gentoo's Portage one of
the "big three" package management systems, the other two being Debian's
"apt" and Fedora's/CentOS' "yum".

For example, let's say I just installed a Gentoo system and I want to
install Rails. I type "emerge rails" and it brings in Ruby,
activerecord, gem, and everything else I need automatically. The
versions are all compatible. And when there's an update, it gets done.
Furthermore, if it's broken -- if the update fails, for example, or if a
dependency doesn't get loaded automatically -- it's a bug and the Gentoo
developers fix it. The same is true for Debian.

Strictly within the Ruby universe, most of this happens through
RubyGems, although core things like "make", the C compiler and linker,
etc. aren't gems. The downside is that the user does have to wait for
someone to build the packages. Since most of the Gentoo packages are
installed from source, they tend to show up earlier in Gentoo than the
other distros.