gcc erreur en essayant de exec 'titre1': execvp: Aucun fichier ou répertoire lors de l'exécution avec un utilisateur non root
Je vois que la même question a été posée plusieurs fois, mais mon problème est différent.
J'ai installé gcc sur ubuntu 14.04 et et il fonctionne très bien avec l'utilisateur root.
Lorsque je tente de compiler à l'aide un utilisateur non root, il jette
d'erreur de gcc: erreur lors de l'exec 'titre1': execvp: Aucun fichier ou
annuaire
Une fois que j'ai compiler le fichier avec l'utilisateur root, non racine de l'utilisateur est en mesure d'exécuter le fichier sans erreur, mais il n'est pas en mesure de compiler le fichier.
Je soupçonne qu'il ya un problème avec les autorisations de fichier et j'ai vérifié les autorisations pour le ce1 et non racine de l'utilisateur a l'autorisation d'exécution sur le fichier.
Le message d'erreur jeté sur l'exécution de gcc est donné dans le titre. J'ai expliqué que le fichier 'titre1' existe, et l'utilisateur a les autorisations pour le fichier. S'il vous plaît dites-moi quels sont les détails que vous avez besoin.
Vous pourriez strace de la compilation et de voir exactement quels sont les problèmes que le système fonctionne dans la recherche de
cc1
: strace gcc -c foo.c 2>&1 | grep cc1
Comment avez-vous install gcc ? Quelle est la commande que vous êtes en cours d'exécution qui produit cette erreur ? Ce n'
gcc -v
révéler ? Veuillez vérifier le gcc binaires vous êtes en cours d'exécution, dans le cas où vous avez réussi à installer différentes versions de gcc à différents endroits.Aussi, GCC est
-v
option peut être utile.
OriginalL'auteur Somil Bhandari | 2015-05-20
Vous devez vous connecter pour publier un commentaire.
Première façon:
En vertu de la
root
compte utiliser la commande:Il va vous montrer où sont
cc1
etgcc
et les droits decc1
Vérifiez que vous disposez des droits appropriés pour
cc1
fichierPuis sous "régulier" de l'utilisateur:
Sortie de
which gcc
doit être le même que pour l'utilisateur root.Si le droit est ok et le chemin d'accès à
gcc
le même que dans laroot
, ajouterPATH
àcc1
pour l'utilisateur.Deuxième façon:
En vertu de la
root
compte:Et de faire de même, en vertu de la "régulière" compte.
Il va vous montrer le réel des commandes qui a été utilisé pour la compilation.
De les comparer et de vérifier les droits et
PATH
comme dans la première méthodePour ajouter le CHEMIN d'accès:
export PATH=$PATH:$add_new_path_to_folder_here
OriginalL'auteur Arseniy
Dans mon cas, cette erreur est survenue lors de la tentative de compiler une version mise à jour de ffi, nokogiri et d'autres pierres précieuses sur Ubuntu.
gcc -v
a révélé que j'étais à l'aide de gcc et g++ 4.8.La solution était de passer mon gcc/g++ les liens symboliques à l'utilisation de 4,9 au lieu de 4,8.
Répétez l'opération pour g++.
OriginalL'auteur wintondeshong