Super User is a question and answer site for computer enthusiasts and power users. 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 have installed "Damn Small Linux" on my home computer for doing C development in unix. But the distribution doesn't by default come with the C development environment and I am facing some issues when trying to install the gcc.

Is there any other small Linux distribution which by default has the required packages for the C development. And also I don't want additional software which takes up lot of space but still would like to have the graphical environment.


share|improve this question

migrated from May 3 '10 at 3:01

This question came from our site for professional and enthusiast programmers.

Could you please define you meaning of "SMALL"? – Brettski May 2 '10 at 16:55
Those on superuser might not understand a complete C development environment. – Tim Post May 2 '10 at 18:08

I can not think of a distribution that ships with a complete tool chain. This is for a few reasons:

  1. Not everyone wants to compile programs. Compiler + binutils + headers + debuggers take up room that many people would rather use for other things.
  2. Saves bandwidth. Sure, an ISO is an ISO, but when people update / upgrade, they'll tend to pull in more updates.
  3. Some people view the presence of a compiler as a security risk in certain settings.

No distribution is going to 'please everyone' , however not including a tool chain is a compromise to please as many people as possible.

I build Ubuntu in a very strange way (well, not really strange, just overly pedantic regarding what I install).

I start with debootstrap to get the core utilities installed, then I chroot to the installation and install the stuff that I want. Usually this is:

  1. build-essential
  2. kubuntu-desktop
  3. (a long list of libraries with development header packages)

You could substitute kubuntu-desktop for:

edubuntu-desktop - educational desktop for Ubuntu
edubuntu-desktop-kde - educational desktop for Kubuntu
ubuntu-desktop - The Ubuntu desktop system
xubuntu-desktop - Xubuntu desktop system

I then grab the kernel I want from and configure/build/install it.

I can then copy over my newly populated root file system to a logical volume and boot to it, or partition a new drive and copy everything over, then chuck the drive into the new system.

Why, oh why do I spend so much time doing this? I'm anal retentive regarding what I install and use .. and I get a great deal of satisfaction out of using something that I put together myself.

After booting, I install anything else that I may need, as I find a need for it. I also uninstall anything I know that I'm never going to use.

Anyway, the result is a system that should fit your needs very well, which is how it should be :)

share|improve this answer
Every source distribution (like Gentoo etc.) comes per defintion with a complete toolchain. But Gentoo is not after everybodies liking, but ir could probably be configured to be very small. – hirschhornsalz May 2 '10 at 21:58
@drhirsch - That should probably be an answer, once expanded. – Tim Post May 2 '10 at 22:06

Damn Small Linux comes with tcc (see the package list), which is indeed a standards-compliant compiler. I don't know exactly what libraries you're missing, but it should have at least the standard C libraries available.

share|improve this answer

A minimal install of Debian isn't really very big (although not as small as Damn Small Linux), and you can easily add a compile environment to that (just add the gcc, make and libc6-dev packages).

share|improve this answer

You could start from Ubuntu JEOS (Just Enough Operating System) and then install/configure xfce4 (as WM for example) and gcc (build-essential) via apt-get (basically benefit from the great repositories Ubuntu has).

share|improve this answer
I'm pretty sure its build-essential ... (no s on the end) – Tim Post May 2 '10 at 18:09
Good point, updated ;-) – ChristopheD May 3 '10 at 12:30

ArchLinux with some lightweight DE and gcc should meet your requirements.

share|improve this answer
Arch has a 'base-devel' package which includes software for building but not for developing applications I fear (i.e. no gdb etc.). – Till Theis May 3 '10 at 13:20
Of course: for anything else will be as simple as writing 'sudo pacman -S gcc gdb' or whatelse. – dag729 May 3 '10 at 18:19

Well, you COULD start with Debian Linux and their "netinst" CD, and then just add the pieces you need.

If you're careful you can keep it small (VERY small if you don't need the graphical environment). Most folks would want a GUI and if so you'll need X-11, but you can choose a lightweight window manager instead of KDE or Gnome. It's all relatively painless if you have a broadband connection.

share|improve this answer

You must log in to answer this question.