Installing a compiler by default
Herman Bos
hbos at ubuntu.com
Fri Jun 9 09:34:15 BST 2006
Matt Zimmerman wrote:
> I would like to propose that, beginning in Edgy, Ubuntu desktop systems
> (both live and installed) should, by default, include the set of packages
> necessary to compile simple C programs and Linux kernel modules.
>
> My reasoning is based on the following points:
>
> * Linux systems have traditionally shipped with gcc
>
Ubuntu is hardly a traditional linux system. :)
> * The most common way to obtain a new driver for a Linux system is
> to compile it from C source code
>
> * A common reason to install a new driver on a Linux system is to gain
> access to the Internet, so support can be difficult to obtain in such a
> scenario
>
Personally I never had to build drivers like this. But I don't have USB
wireless thingies (seems to be one of the suffering devices if i look at
others in this thread).
> * A great deal of distribution-agnostic documentation assumes the
> availability of gcc
>
> * Users who are new to Ubuntu have no idea how to install the necessary
> packages for building a kernel module
>
Personally I think users should NOT use distribution-agnostic
documentation much.
I've met many classmates who thought that installing on linux was equal
to compiling everything by hand. It becomes a mess.
I think we should advocate help.ubuntu.com and be sure that in the
hardware pieces in question have really good help pages and which guides
you correctly.
Build-essential can be mentioned were needed in the documentation. If
they need to compile it should be mentioned in the Ubuntu documentation
they are following.
Compiling is not that easy, if they do it, they should do it right. And
only where neccesary.
> * build-essential and linux-headers are already included on Ubuntu CDs, so
> they would not occupy more space if installed by default
>
> * An excessive amount of RAM is needed to install build-essential and
> linux-headers in the live CD environment, and we only have enough space
> for them either in preinstalled form (for the live session) OR packaged
> form (for the installed system), not both
>
>
How many people do actually use it? 1%? 0,5%? And if they need it they
should follow the proper documentation like I said above, else they will
only mess up or get stuck halfway.
> Some arguments against this approach include:
>
> * Most users don't need a compiler
>
> * If they have already compromised a system, worms can use a compiler to
> help propagate themselves and launch attacks (and if one is installed by
> default, this is a more appealing technique for targeting Ubuntu systems)
>
> * We should solve the same problems in more elegant ways where possible
>
> I'm interested in hearing more opinions one way or the other, especially
> from beyond the developer community.
>
>
The biggest problem is that help.ubuntu.com is not really well known. I
think we should fix this structural problem instead of a fix (installing
build-essential) which *might* help in one particular case and including
the big risk they just run into more complicated problems.
Regards,
Herman
ps. I really don't want to have gcc installed on all my systems by
default. I only use it on one, where I build packages for the rest of
the machines. IF you really want to include it by default please make it
possible to remove it cleanly.
More information about the sounder
mailing list