web-dev-qa-db-fra.com

Compilation de la torche sur Ubuntu 17.04: Aucune prise en charge de la version GCC> 5 et des erreurs Gcc: gcc: erreur lors de la tentative d’exécution de 'cc1': execvp: Aucun fichier ou répertoire de ce type

Lors de l'installation de la torche sur Ubuntu 17.04, j'ai rencontré quelques problèmes.

Le premier rapport après avoir essayé de compiler le flambeau ressemblait à https://stackoverflow.com/questions/6622454/cuda-incompatible-with-my-gcc-version

me donner quelque chose comme

error -- unsupported GNU version! gcc >5 are not supported!

Après avoir résolu ce problème, j'ai eu une autre erreur similaire à celle-ci:

https://stackoverflow.com/questions/11912878/gcc-error-gcc-error-trying-to-exec-cc1-execvp-no-such-file-or-directory

Gcc error: gcc: error trying to exec 'cc1': execvp: No such file or directory

Voulez-vous également ajouter ici que cela est en conjonction avec ma configuration cuda.

1
csugai

J'ai corrigé la première erreur en installant gcc-5:

Sudo apt-get install gcc-5

ensuite, il a dit qu'il ne pouvait pas trouver cc1, donc je l'ai fait

which cc1

qui a renvoyé un blanc. C'est parce que je n'ai pas installé g ++ - 5

Sudo apt-get install gcc-5 g++-5

nous voulons ensuite en faire notre gcc par défaut, donc

Sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 1

et enfin

./install.sh

dans le répertoire de la torche fonctionne. Ceci est similaire à l'approche ici: https://Gist.github.com/beci/2a2091f282042ed20cda

le début du flambeau qui a tout déclenché: http://torch.ch/docs/getting-started.html

espérons que cela aide quelqu'un

2
csugai

J'ai eu presque le même message d'erreur:

gcc: erreur lors de la tentative d'exécution de 'cc1': execvp: Aucun fichier ou répertoire de ce type

J'ai googlé et je suis arrivé ici. Donc, dans le but d'aider les gens avec le même problème ... Mon erreur était dans un contexte différent: essayer de compiler un programme go en important le pilote go-sqlite3 ...

dans mon cas (ubuntu 16.10 yakkety yak) Sudo find /usr/ -name cc1 m'a montré que cc1 était installé, même en plusieurs versions:

/usr/lib/gcc/x86_64-linux-gnu/4.9/cc1
/usr/lib/gcc/x86_64-linux-gnu/5/cc1
/usr/lib/gcc/x86_64-linux-gnu/6/cc1

J'ai exécuté which gcc et j'ai pu voir que gcc pointait vers mon répertoire bin du pilote nvidia cuda, qui incluait gcc ...

Dans mon cas, il s’agissait là d’un élément résiduel que je n’ai pas désinstallé correctement; j’ai donc dû supprimer manuellement ce répertoire de mon $PATH dans mon .bashrc. Le j'ai fermé mon terminal (j'aurais pu exécuter source ~/.bashrc), vérifié avec which gcc qu'il indiquait le bon (/usr/bin/gcc) essayé de recompiler mon programme go et que cela fonctionnait sans aucune erreur cette fois.

Je sais que cela n’est peut-être pas la solution parfaite, mais il est possible que le perso ait le même message d’erreur pour enquêter plus avant sur ce genre de choses.

Bien sûr, vérifiez quelle version de gcc vous utilisez et installez le "compagnon" g ++ dont vous avez besoin. Dans mon cas, c'était: g++-4.9 (déjà installé).

0
firepol