[nSLUG] Why you are not seeing software ported to Linux

Ben Armstrong synrg at sanctuary.nslug.ns.ca
Wed Jun 22 21:08:14 ADT 2011

On 22/06/11 06:44 PM, Daniel Morrison wrote:
> Sometimes it seems to me like many Linux distros are _purposefully_
> making things hard for people. Both Redhat/CentOS and Ubuntu have this
> strange habit of splitting up packages into 'binaries' and
> 'development'. I can't count the number of times I've failed to
> install something because, although the binaries/libraries are
> present, the development headers are missing. With Slackware you don't
> have this problem. The default recommended install is to install
> everything in the official distro, and then you're not missing
> anything.

It's only strange from a certain perspective, (and one that I believe is
no longer in the majority).

If I need to build a Debian package from source, I simply 'apt-get
build-dep packagename' and all of the -dev packages needed to build the
package are installed for me. It's all geared towards the requirements
of autobuilding binary packages for a binary package-based distribution,
which is what dominates in the world of Linux distributions.

Unlike the .so files themselves, which can exist in multiple versions on
the same system in the same directory, differing by soname to keep them
distinct, header files from different versions of a library installed to
a standard location such as /usr/include will usually conflict. The -dev
package separation means that I can keep the older libraries installed
on my system for the sake of packages not yet working with the current
version of the library, alongside both the current version of the
library and its -dev package. They will all coexist peacefully. Should I
at some point require a build against an older version of the library, I
can switch back to the older -dev package to do that.

So there is a logic to it that is there to help users, not hinder them.


More information about the nSLUG mailing list