[TAG] Distro survey
Jay R. Ashworth
jra at baylink.com
Wed Nov 23 02:24:55 MSK 2005
On Fri, Nov 18, 2005 at 06:46:32PM -0800, Rick Moen wrote:
> The _original_ application of the term "dependency hell" to RH et al.
> harks back to before yum/yumex/apt4rpm/etc., when /usr/bin/rpm had
> dependency-_checking_ capabilities but no dependency-resolution ones
> (such being unknown). In _that_ sense, continuing in 2005 to give RH et
> al. a hard time for that is unfair, since it's ancient history.
[ ... [
> My own "dependency hell" experience:
>
> I think I was running RH 4.2, and was attempting a gradual upgrade
> in-place of parts of the system to newer software versions, compiling
> replacements from source tarballs. (I _did_ know that this was going to
> make the RPM records functionally useless, but wanted to try it to see
> what happened.)
>
> I _think_ I was trying to upgrade to 2.1.x kernels from the then-current
> 2.0.x stable series, and suddenly found that it was necessary to upgrade
> libc from 5.3.x to 5.4.x -- which, in turn, necessitated installing a
> new version of ld.so, the dynamic loader. Which I did, and then found
> that several key libraries instantly broke:
>
> libmenu.so.*
> libform.so.*
> libpanel.so.*
> libncurses.so.*
> libhistory.so.*
>
> The last of these breakages (the GNU readline library) was by far the
> worst, because it meant that bash suddenly had no command-history
> abilities, which was a rather painful loss. (I was spoiled.)
And *that's* the True Name of Dependency Hell, which is the point many
miss (but Rick didn't) when talking about it:
It's when upgrading package B to support a newer version of package A
*breaks* package C.
Given the library naming conventions of most Linux boxen these days,
it's pretty tough to run into it there, unless what you're upgrading is
the library infrastructure *itself*, but the other big place you'll
find it is the occasional backwards-incompatibility with things like
language interpreters (perl, Python, etc). You can get into a
situation where those things need to be maintained in several
versions... and the resultant idiocy in CPAN and Python and PHP's
analogues thereto can be pretty messy as well.
But the short version is: DH is the first cousin of Componentized
Software, and good solutions to these problems are Still Being Worked
Out. ;-)
Cheers,
-- jra
--
Jay R. Ashworth jra at baylink.com
Designer Baylink RFC 2100
Ashworth & Associates The Things I Think '87 e24
St Petersburg FL USA http://baylink.pitas.com +1 727 647 1274
"Space is called 'space' because there's so much *space* there."
- John Walker, of Fourmilab, on Trek's End
More information about the TAG
mailing list