2010-08-13 6 views
11

Comment puis-je installer gcc sur un système qui n'a pas de compilateur c? ce système est un pare-feu de base linux et n'a pas de compilateur c.Installation de gcc sous linux sans compilateur c

+0

hein? Pourquoi avez-vous besoin d'un compilateur pour installer les choses? L'application de base dont vous avez besoin est 'cp', et peut-être' mount'. –

+0

Elazar: Il est possible qu'il doive compiler GCC s'il utilise une distribution Linux qui ne fournit pas d'outils pour l'installation. Je ne sais pas ce que veut dire "pare-feu de base linux". – Stephen

+0

Si vous n'avez pas de compilateur installé, je suppose qu'il y a beaucoup d'autres includes système et de bibliothèques qui ne sont pas installées et dont vous aurez besoin pour la compilation. Vous pouvez regarder ici quelques binaires pour commencer. http://gcc.gnu.org/install/binaries.html –

Répondre

12

Je suppose que vous avez une appliance qui exécute Linux et shell-access, mais ni un gestionnaire de paquets ni un compilateur n'est installé.

Donc, vous devez gcc cross-compiler et l'ensemble toolchain (au moins binutils) - ce qui est tout à fait simple, parce que les scripts ./configure de gcc, binutils, gdb etc. soutiennent la compilation croisée avec l'option --target=. Donc tout ce que vous avez à faire est de trouver l'architecure cible (uname aide) et puis télécharger, décompresser les sources gcc sur un hôte linux et exécuter ./configure --target=$YOUR_TARGET. Avec ceci, vous pouvez maintenant construire un compilateur croisé gcc - ceci fonctionne toujours sur votre hôte, mais produit des binaires pour votre cible (dispositifs pare-feu). Cela peut déjà être suffisant pour vous, un PC de bureau typique est beaucoup plus rapide qu'une appliance typique, il peut donc être logique de compiler tout ce dont vous avez besoin sur le PC de bureau avec le compilateur croisé et les binutils croisés.

Mais si vous voulez vraiment le faire, vous pouvez maintenant utiliser votre compilateur croisé pour compiler un gcc en cours d'exécution sur votre cible (définir cette en option --host=) et la compilation de votre cible (définir cette en option --target).

Vous trouverez des détails sur les hôtes/cibles autorisés et des exemples dans la documentation gcc: http://gcc.gnu.org/install/specific.html.

+0

J'ai rencontré exactement ce problème - une appliance avec Linux (Debian 3.4) et un accès shell, mais pas de gestionnaire de paquets ni de compilateur. Je voudrais installer apt-get, mais je ne sais vraiment pas par où commencer. Y a-t-il du matériel de lecture amical de noob (ish) que vous pourriez me montrer? Mon Google-Fu me manque sur celui-ci. Toute aide serait grandement appréciée! – opticon

0

Si c'est une distribution basée sur Debian, vous pouvez utiliser

sudo apt-get install gcc 

Note: peut-être vous devez changer "gcc" par une version spécifique du package debian.

1

Cela dépend de la distribution, si elle est basée sur debian ou sur d'autres grands, vous pouvez installer gcc via apt-get ou un outil similaire.

Si c'est un système plus basique, vous devez compiler vous-même sur un autre ordinateur et le copier. Ce sera plus facile si vous avez un autre ordinateur avec la même architecture (i386, arm ou x86_64 par exemple).

Je pense que vous pourriez vouloir le compiler statiquement aussi, de sorte que vous n'avez pas de dépendances sur les bibliothèques externes.

+0

ce système Linux basé sur EFW (mur de feu endian) – hamSh

+5

Je dirais peut-être aussi que je regarderais les raisons que vous avez pour installer gcc sur votre pare-feu, cela semble être une mauvaise idée dès le départ. N'essayez donc de suivre cette voie que si vous avez vraiment une bonne raison de le faire. –

0

Comment envisagez-vous d'obtenir tout le code source nécessaire pour GCC chargé sur votre machine? Pourriez-vous monter l'image ISO sur cette machine et installer à partir de là?

Questions connexes