I understand that source based distributions like Gentoo or Slackware do not need *-dev versions of programs. They include the source code as well as header files for compiling everything locally.

But I never saw *-dev packages in Arch Linux, although it is package based. I ran across lots of *-dev packages in other distributions.


The -dev packages usually contain header-files, examples, documentation and such, which are not needed to just running the program (or use a library as a dependency). They are left out to save space.

ArchLinux usually just ships these files with the package itself. This costs a bit more disk space for the installation but reduces the number packages you have to manage.

  • 1
    Hello thanks for your answer. I think you are right, because I noticed on Arch Linux I can compile packages right away (no need to install -dev packages). Could you include one reference? – Sebastian Jan 13 '12 at 9:46
  • 2
    The most important reference if probably The Arch Way and the Simplicity principle - making -dev packages actually means building the package and taking away the include files. Archlinux packages however include the package as it was built (for example by invoking make) without touching it afterwards. There are exceptions to this rule but I can't think of one relevant to this question. – Wieland Jan 13 '12 at 19:02

If you want to edit the source of standard packages and compile them yourself, you should use the ABS (Arch Build System). Quoted from the Arch Linux Wiki:


This is the recommended method when using Arch Linux.

  • 1
    You're confusing dev packages with src packages. src packages let you rebuild the package itself. dev packages let you build something that depends on the package. – Matthew Marshall Jan 13 '12 at 3:57
  • @MatthewMarshall You're correct. Although at least the ABS is related to the question. – Jason Axelson Jan 13 '12 at 20:02

Your Answer

