2010-05-21 4 views
4

J'ai essayé d'installer gcc 4.5 sur Ubuntu 10.04 mais j'ai échoué. Voici une erreur de compilation que je ne sais pas comment résoudre. Est-ce que quelqu'un a réussi à installer la dernière version de gcc sur ubuntu? Après mes pas et est le message d'erreur, je voudrais savoir où est le problème ....gcc 4.5 Problème d'installation sous Ubuntu

Etape 1: télécharger ces fichiers:

gcc-core-4.5.0.tar.gz 
gcc-g++-4.5.0.tar.gz 
gmp-4.3.2.tar.bz2 
mpc-0.8.1.tar.gz 
mpfr-2.4.2.tar.gz 

Etape 2: Décompressez les fichiers ci-dessus

Etape 3: déplacez gmp, mpc, mpfr dans le répertoire gcc-4.5.0 /.

mv gmp-4.3.2 gcc-4.5.0/gmp 
mv mpc-0.8.1 gcc-4.5.0/mpc 
mv mpfr-2.4.2 gcc-4.5.0/mpfr 

Etape 4: allez dans le répertoire gcc-4.5.0 et faire la configuration:

sudo ./configure 

Step5: compiler et installer

sudo make 
sudo make install 

Les 4 premières étapes est OK, je peux configurer avec succès. Toutefois, lorsque j'essaie de le compiler, le message d'erreur suivant s'affiche, je ne peux pas comprendre quel est le problème. Devrais-je changer le nom de "gcc 4.5" en "gcc" ?? C'est un peu étrange que nous ayons besoin de le faire par nous-mêmes. Y a-t-il quelque chose que j'ai manqué pendant l'installation?

[email protected]:/media/Data/Tool/linux/gcc 4.5/gcc-4.5.0$ sudo make 
[sudo] password for xxx: 
[ -f stage_final ] || echo stage3 > stage_final 
/bin/bash: line 2: test: /media/Data/Tool/linux/gcc: binary operator expected 
/bin/bash: /media/Data/Tool/linux/gcc: No such file or directory 
make[1]: Entering directory `/media/Data/Tool/linux/gcc 4.5/gcc-4.5.0' 
make[2]: Entering directory `/media/Data/Tool/linux/gcc 4.5/gcc-4.5.0' 
make[3]: Entering directory `/media/Data/Tool/linux/gcc 4.5/gcc-4.5.0' 
rm -f stage_current 
make[3]: Leaving directory `/media/Data/Tool/linux/gcc 4.5/gcc-4.5.0' 
make[2]: Leaving directory `/media/Data/Tool/linux/gcc 4.5/gcc-4.5.0' 
make[2]: Entering directory `/media/Data/Tool/linux/gcc 4.5/gcc-4.5.0' 
Configuring stage 1 in host-x86_64-unknown-linux-gnu/intl 
/bin/bash: /media/Data/Tool/linux/gcc: No such file or directory 
make[2]: *** [configure-stage1-intl] Error 127 
make[2]: Leaving directory `/media/Data/Tool/linux/gcc 4.5/gcc-4.5.0' 
make[1]: *** [stage1-bubble] Error 2 
make[1]: Leaving directory `/media/Data/Tool/linux/gcc 4.5/gcc-4.5.0' 
make: *** [all] Error 2 
+1

Vous ne devriez pas exécuter 'sudo make'. Cela va laisser des fichiers qui ont des permissions incorrectes. –

+0

J'ai essayé de compiler sans sudo (juste "./configure" et "make"), mais le message d'erreur est le même. Et je ne comprends pas pourquoi il cherche le chemin "gcc", pas "gcc 4.5". –

+0

Je n'ai jamais eu de problème avec 'sudo make' - Je pense que le processus d'installation définit les permissions de toute façon (bien sûr si vous copiez manuellement les binaires, libs etc ... il peut y avoir un problème, mais l'OP n'est pas essayant de faire cela). –

Répondre

4

Il pourrait ne pas être une bonne idée d'avoir un espace dans votre chemin - c'est un peu rare et peut facilement gâcher les scripts shell qui ne sont pas spécialement conçus pour traiter (ce qui est une mauvaise combinaison!)

un autre problème potentiel est que vous utilisez configure à l'intérieur du répertoire source gcc - (et ce isn't recommended ne fonctionne pas du tout pour moi au moins une version de gcc 4). Au lieu de cela faire un répertoire de construction vide, parallèle au répertoire source, vous avez quelque chose comme:

gcc 4.5   <- but might want to avoid the space 
    gcc-4.5.0 
    ... 
    build 

Puis cd dans build et exécuter

../gcc-4.5.0/configure 

Vous devrez peut-être commencer à partir d'une source fraîchement décompressé répertoire, car la version précédente ayant échoué peut l'avoir brisée.

+0

Merci beaucoup! Je peux le compiler maintenant :) Je pense que le problème principal est l'espace dans le chemin. BTW, je suis curieux de savoir pourquoi il est recommandé d'utiliser un autre dossier pour exécuter la configuration. Je le fais comme tu l'as dit, si ce n'est pas trop compliqué, peux-tu m'expliquer la raison? –

+0

Pour être honnête, je ne sais pas exactement pourquoi il casse si vous faites la construction dans le répertoire source - probablement le processus de construction écrase un fichier de la distribution source ou crée un nouveau qui pénètre dans le PATH. .. mais je ne fais que deviner :) Ils pourraient même avoir corrigé pour '4.5', mais ils le recommandent toujours sur le site 'gcc', donc je ne le risquerais pas (quand j'ai eu le problème, la compilation n'a échoué qu'après plusieurs heures de compilation, ce qui est assez ennuyeux :)) –

+0

la compréhension est que les développeurs construisent hors de la source; par conséquent, ils vous recommandent de le faire, car construire dans la source est moins testé et la construction n'est pas triviale. Tout le monde a ses préférences, mais je préfère construire hors de la source puisqu'il désambiguise les artefacts de construction de la source. C'est probablement moins un problème pour quelqu'un qui ne fait pas de développement. – ejgottl

Questions connexes