(NOTE: this is part of the “An Anti-Spam gateway” series)
These days, most Linux distributions, especially the RPM-based ones like Fedora, Red Hat or SUSE, increasingly assume that “nobody compiles stuff anymore”. Due to that, they don’t install, by default, the development parts of most libraries and applications.
An example: by default, a distro will install OpenSSL, with the openssl package. But that’s the library files only. It “gives” OpenSSL to other RPMs that need it, but, when you try to compile any program to use OpenSSL, it will fail (or, possibly worse – it will compile, but without OpenSSL support, and you may fail to notice it), because you are missing the header files.
They’re in the openssl-devel package.
So, from now on, through the rest of this series, pay attention when compiling (mostly in the ./configure part). If it fails, or if it passes but says that you are missing an important library, the thing to do is probably to look for the missing *-devel package, and install it.
Incidentally, this is not a problem in the BSDs.
Related posts:

Uh ? Having to install the development libraries together with the standards libraries without a choice to avoid it is, for me, is “the” problem.
Like installing the SSH Daemon every time I simply need the client. What next ? Apache whenever Firefox is installed ? The GCC and (G)LIBC sources whenever I need to compile an hello_world.c ?
Having split packages is “A GOOD THING™”.
We’re talking about different things, it seems. I only warned that having a library on Linux didn’t automatically mean you could compile stuff to use that library, which is a source of frequent confusion.
On the BSDs, there’s no concept of “library without the header files”, so, no confusion. Simple as that.
You seem to think I want an OS with “everything but the kitchen sink” by default. Much the opposite – that’s why I use OpenBSD at home.