2010-07-22 4 views
0

J'ai essayé de construire gcc 4.5.0 sur Linux version 2.6.18-164.6.1.el5, et a trouvé les problèmes suivants que je n'ai pas trouvé de réponse sur Google . J'ai utilisé la commande suivante.Problème dans la construction gcc 4.5: erreur dans tools.zip

../gcc-4.3.5/configure --prefix =/usr --prefix =/applications --with-gmp =/applications --with-mpc =/applications --with-mpfr =/applications --enable-shared --enable-threads = posix make -j 8

Voici la partie où il se plaignait de l'erreur

...

cp: préserver ACL `./ asm/org/objectweb/asm/ClassAdapter.class ': Opération non prise en charge

cp: préservation des autorisations pour `./asm/org/objectweb/asm' : Opération non supportée

cp: préserver les autorisations pour `./asm/org/objectweb ': Opération non supportée

cp: préserver les autorisations pour` ./asm/org': Opération non supportée

cp: préserver les autorisations pour `./asm ': opération non pris en charge

make [6]: *** [tools.zip] erreur 1

make [6]: Quitter le répertoire`/home/gl/gcc4.3obj/x86_64-inconnu-linux-gnu/32/libjava/classpath/tools '

make [6]: Saisie répertoire `/home/gl/gcc4.3obj/x86_64-unknown-linux-gnu/32/libjava/classpath »

vrai DO = all # multi-do font

make [6]: quittant le répertoire `/home/gl/gcc4.3obj/x86_64-unknown-linux-gnu/32/libjava/classpath »

make [5]: *** [tous récursif] erreur 1

make [5]: Quitter le répertoire `/home/gl/gcc4.3obj/x86_64-unknown-linux-gnu/32/libjava/classpath »

make [4]: ​​*** [tous récursif] Erreur 1

make [4]: ​​Quitter le répertoire `/home/gl/gcc4.3obj/x86_64-unknown-linux-gnu/32/libjava »

make [3]: *** [multi-do] erreur 1

make [3]: Quitter le répertoire `/home/gl/gcc4.3obj/x86_64-unknown-linux-gnu/libjava »

make [2]: *** [all multi] erreur 2

make [2]: Quitter le répertoire `/home/gl/gcc4.3obj/x86_64-unknown-li nux-gnu/libjava '

make [1]: *** [all-cible libjava] Erreur 2

make [1]: quittant le répertoire `/home/gl/gcc4.3obj'

make: *** [all] Erreur 2

Toute précision et aide seront grandement appréciées. Je vous remercie.

Répondre

0

Vous dites que vous construisez gcc 4.5.0 mais vos messages d'erreur et la ligne ./configure suggèrent que vous construisez à la place gcc 4.3.5. Je le signale parce qu'il est possible que vous ayez trébuché sur un bogue dans les scripts de construction de gcc 4.3.x. Deuxièmement, les messages d'erreur que vous avez cités me font penser que vous faites votre build sur un système de fichiers bizarre, ou bien vous avez un buggy cp (peu probable mais pas impossible). Quel genre de système de fichiers est/home? Vous pouvez trouver avec la commande mount - tapez-le sans arguments, recherchez la ligne/home, voir ce qu'il dit à côté de "type". J'ai ceci:

/dev/sda3 on /home type ext4 (rw) 

ext2, ext3, ext4, Btrfs, XFS et JFS ne devrait pas être gênant; n'importe quoi d'autre pourrait bien être pour cet usage. A propos, la version précise de votre noyau ("Linux version 2.6.18-164.6.1.el5") est très peu susceptible d'être pertinente; pour ce genre de problème, il serait beaucoup plus utile de savoir quelle distribution vous utilisez, et la version de cela.

+0

Nous vous remercions de votre réponse rapide. Vous aviez raison, c'est 4.3.5, mais les mêmes problèmes sont survenus lorsque j'ai essayé de construire 4.5.0 dans un autre répertoire au début, puis j'ai téléchargé 4.3.5 pour essayer de nouveau. Voici la sortie de la montagne, nfs-1:/p0/home/gl/home/type gl nfs (rw, adr = 10.1.0.3) La distribution est de Redhat CentOS version 5.4 (Final) Encore une fois, merci beaucoup. – xatan

+0

NFS? Oho. Faites-vous votre build en tant que root? Ne fais jamais cela. Toujours compiler et tester en tant qu'utilisateur normal; fais seulement 'make install' en tant que root. Ce n'est pas seulement pour la sécurité - beaucoup de systèmes de construction de projets cassent (comme vous l'avez vu) si vous exécutez la phase de compilation en tant que root, surtout si vous travaillez avec NFS, qui mappe normalement la racine sur le client. un ID utilisateur totalement non privilégié sur le serveur. (En passant, votre build sera plus rapide de * ordres de grandeur si vous mettez le répertoire de construction sur un disque local.C'est bon d'avoir la source sur NFS.) – zwol

+0

Non. Je ne suis pas la racine, et c'est pourquoi j'ai pour spécifier le préfixe dans configure. Je me connecte au serveur en tant qu'utilisateur normal et j'ai donc uniquement accès à/apps et à mon répertoire personnel. Pensez-vous que la commande cp est la raison de l'erreur? Merci. – xatan

0

J'ai rencontré un problème similaire en créant un package différent (LAMMPS). Le fichier Makfile incluait un drapeau -p dans une instruction cp. Je l'ai enlevé et l'erreur a disparu. Cela peut valoir la peine d'essayer ...