An Anti-Spam gateway #2: A note about compiling on Linux

(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:

  1. An Anti-Spam gateway #0: Introduction
  2. An Anti-Spam gateway #1: Initial stuff
  3. How to use anti-spam filters
  4. Linux and usability
  5. Well, there’s spam egg sausage and spam, that’s not got much spam in it.

2 Responses to “An Anti-Spam gateway #2: A note about compiling on Linux”

  1. Incidentally, this is not a problem in the BSDs.

    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™”.

  2. Dehumanizer says:

    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. :)

Leave a Reply

Notify me of followup comments via e-mail. You can also subscribe without commenting.


Creative Commons Attribution-NonCommercial-NoDerivs 2.5 Portugal
This work by Pedro Timóteo is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 2.5 Portugal.