Итак, поговорим об установке gcc на Xandros. По умолчанию его тут не наблюдается, хотя нужно это проверить.
/home/user> ls /usr/bin | grep gcc
/home/user> ls /bin | grep gcc

В выводе должно быть либо пусто, либо содержаться что-то вроде gccmakedep (http://linux.die.net/man/1/gccmakedep или man gccmakedep).
Далее сделаем
/home/user> dpkg -l | grep gcc

Получится что-то вроде
ii  gcc-3.3-base                      3.3.6-15                        The GNU Compiler Collection (base package)
ii  gcc-4.1-base                      4.1.1-21                        The GNU Compiler Collection (base package)
ii  libgcc1                           4.1.1-21                        GCC support library

Это общие файлы для всех языков и библиотек, наф-ся в gcc.
Ну, и наконец, просто введем
/home/user> gcc

Получим
bash: gcc: command not found

Ну что ж, будем ставить.

NOTE: все необходимые пакеты я собрал в один архив и разместил у себя, чтобы не париться со скачиванием. Тем не менее, ссылки на отдельные пакеты также будут присутствовать. Скачать архив можно отсюда: http://ufreak.ucoz.ru/xandros/gcc.tar. Распаковывать так:
/home/user> tar xvf gcc.tar
Здесь же можно просмотреть заметку в формате html - http://ufreak.ucoz.ru/xandros/xandros_gcc.html


Итак, начнем установку.
NOTE: будем считать, что все пакеты наф-ся в папке /home/user.
Для начала нам понадобится сам пакет с gcc. Берем отсюда. Проверим зависимости:
/home/user> dpkg --info gcc-4.1_4.1.1-21_i386.deb

Ищем строку "Depends":
Depends: gcc-4.1-base (= 4.1.1-21), cpp-4.1 (= 4.1.1-21), binutils (>= 2.16.1cvs20051214), libgcc1 (>= 1:4.1.1-21), libssp0, libc6 (>= 2.3.6-6)

При попытке установки получим:
gcc-4.1 зависит от libssp0, однако:
Пакет libssp0 не установлен.

Найти библиотеку libssp0 можно тут. Установим:
/home/user> dpkg -i libssp0_4.1.1-21_i386.deb

Установка должна пройти без проблем. Теперь gcc установится вполне нормально, но нужно его немного потестить.
Напишем что-нибудь вроде
#include <stdio.h>
int main()
{
printf("Hello!\n");
return 0;
}

и сохраним как 1.c. Теперь напишем
/home/user> gcc-4.1 1.c

и получим ошибку:
/usr/bin/ld: crt1.o: No such file: Нет такого файла или каталога
collect2: ld returned 1 exit status

Решить ее можно, установив пакет libc6-dev. Найдем его и посмотрим его зависимости:
/home/user> apt-cache show libc6-dev
/home/user> dpkg -i binutils-dev_2.17-3_i386.deb
...
Depends: libc6 (= 2.7-13), linux-libc-dev
...

Нам нужен linux-libc-dev. Взять его можно тут. Установим:
/home/user> dpkg -i linux-libc-dev_2.6.20-17.39_i386.deb

Теперь можно поставить и libc6-dev:
/home/user> apt-get install libc6-dev

При установке удаляются кое-какие пакеты из системы, так что исчезает возможность автоматического обновления. Думаю, это не проблема и все можно восстановить или организовать другим способом. К тому же существует apt. Пробуем установить gcc. И опять проблемы:
gcc-4.1 зависит от binutils (>= 2.16.1cvs20051214), однако:
Пакет binutils не установлен.

Значит устанавливаем пакет binutils, взятый отсюда:
/home/user> dpkg -i binutils-dev_2.17-3_i386.deb
...
конфликт пакетов -- binutils не будет установлен
...

Эта ошибка возникает из-за конфликта двух пакетов и явл-ся циклической. Единственное решение, которое я вижу устанавливать binutils так:
/home/user> dpkg -i --force-conflicts binutils_2.17-3_i386.deb

Все, теперь можно наконец установить gcc:
/home/user> dpkg -i gcc-4.1_4.1.1-21_i386.deb

Все должно встать без проблем. Проверим:
/home/user> gcc-4.1 1.c
/home/user> ./a.out
Hello!

Итак, все работает. Осталось для удобства создать алиас (псевдоним) команде gcc-4.1. Открываем ~/.bashrc любым текстовым редактором и в разделе с алиасами (после строчки # some more ls aliases, хотя не столь важно где)
alias gcc='gcc-4.1'


Кажется все. Ну теперь несколько замечаний:
  1. Все вышесказанное относится к нетбуку ASUS Eee PC 1000 с предустановленной ОС Xandros.
  2. Как и обещал, все пакеты (кроме libc6-dev, который устанавливается соотв. командой) можно найти в одном архиве у меня на сайте.
  3. В качестве бонуса в архиве находится пакет telnet, который также на Xandros по умолчанию отсутствует.
  4. Стабильность работы после установки gcc пока не проверялась, но думаю все нормально.
  5. Очень не рекомендую удалять gcc-4.1-base. Половину системы сносит на ура.
  6. Выполнение всех команд подразумевает наличие прав пользователя root (ну не всех конечно... некоторых).
  7. Ну кажется все, надеюсь кому то это все будет полезно.