[Haskell-cafe] Re: Hackage on Linux

John Millikin jmillikin at gmail.com
Fri Aug 27 00:52:43 EDT 2010

On Thu, Aug 26, 2010 at 20:51, Richard O'Keefe <ok at cs.otago.ac.nz> wrote:

> Maybe Linux is different.  One thing is NOT different, and that is
> Linux upgrades *DO* reliably break programs that use dynamic linking.
> Dynamic libraries get
>  - left out
>  - changed incompatibly
>  - moved some place else
>  - changed compatibly but the version number altered so the dynamic
>   linker doesn't believe it, or the foolsXXXXXXkind people who built
>   the program wired in a demand for a particular version
> Indeed, every Linux upgrade I've had I've found myself screaming in
> frustration because programs *weren't* statically linked.

Upgrading Linux should never, ever cause applications to stop working
unless they were designed incorrectly in the first place. Low-level
system libraries like glibc are the only code which needs to access
Linux directly.

However, most of the problems you mentioned (removed/modified dynamic
libraries) are not part of Linux at all. If your distribution has poor
quality control, you should consider switching to a better one -- I've
heard good news about both Debian and RHEL in this area.
Desktop-oriented distributions, such as Ubuntu or Fedora, are not
suitable for long-term (> 6 years or so) installations.

Haskell, of course, takes ABI pickiness to an absolute maximum. One of
my most wished-for features is a way to provide C-style stable ABIs
for Haskell shared libraries, so I could (for example) upgrade a
support library and have every installed application pick it up.

More information about the Haskell-Cafe mailing list