Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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.

share|improve this question
up vote 19 down vote accepted

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.

share|improve this answer
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
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:

The Arch Build System, ABS for short, is a ports-like system for building and packaging software from source code. While pacman is the specialized Arch tool for binary package management (including packages built with the ABS), ABS is a collection of tools for compiling source into installable .pkg.tar.gz/.pkg.tar.xz packages.

This is the recommended method when using Arch Linux.

share|improve this answer
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


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.