web-dev-qa-db-fra.com

Erreur lors de la tentative d'exécution de 'cc1': execvp: Aucun fichier ou répertoire de ce type (problème possible avec SAGE / python)

Je vois qu'il y a plusieurs sujets dans ce message d'erreur, mais j'ai essayé toutes les solutions que j'ai trouvées sans succès. C'est ma première question ici, mais je vais essayer d'inclure toutes les informations utiles dans d'autres discussions.

J'essaye d'installer le logiciel flagmatic , qui est un paquet mathématique qui fonctionne avec SAGE et python. Cependant, j'ai un problème avec le compilateur. À savoir quand je cours

sage -python setup.py install

Je reçois la sortie:

running install
running build
running build_py
running build_ext
skipping 'flagmatic/flag.c' Cython extension (up-to-date)
building 'flagmatic.flag' extension
gcc -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -I/usr/lib/sagemath/local/include -I/usr/lib/sagemath/local/include/csage -I/usr/lib/sagemath/devel/sage/sage/ext -I/usr/lib/sagemath/devel/sage -I/usr/lib/sagemath/local/include/python2.7 -c flagmatic/flag.c -o build/temp.linux-x86_64-2.7/flagmatic/flag.o -O3 -Wall -Wno-strict-prototypes
**gcc: error trying to exec 'cc1': execvp: No such file or directory
error: command 'gcc' failed with exit status 1**

Là où j'ai mis le dernier mot en gras pour insister, car je crois que c'est au cœur de mon problème. J'ai réinstallé le paquet build-essential (Sudo apt-get install build-essential) en vain.

gcc --version
gcc (Ubuntu 4.8.4-2ubuntu1~14.04) 4.8.4

g++ --version
g++ (Ubuntu 4.8.4-2ubuntu1~14.04) 4.8.4

cc --version
cc (Ubuntu 4.8.4-2ubuntu1~14.04) 4.8.4

Il semble que le compilateur gcc ne trouve pas cc1 quand je le lance avec sage. Autant que je sache, cc1 se trouve:

/usr/lib/gcc/x86_64-linux-gnu/4.8/cc1

et quand fais ceci:

more /etc/environment

Je reçois:

PATH="/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/sbin:/bin:/usr/games:/usr/local/games:/usr/lib"

Il semble que depuis que/usr/lib ins soit sur mon chemin, gcc devrait y chercher, non? Existe-t-il un moyen simple de comprendre pourquoi execvp ne parvient pas à trouver cc1 lorsque j'essaie d'installer le paquet susmentionné?

S'il vous plaît laissez-moi savoir s'il y a quelque chose d'autre qui serait utile re: mon système spécifications ou versions de rien. Je mettrai à jour ici avec les modifications:

MODIFIER:

gcc -print-prog-name=cc1
/usr/lib/gcc/x86_64-linux-gnu/4.8/cc1

apt-cache policy cpp
cpp:
Installed: 4:4.8.2-1ubuntu6
Candidate: 4:4.8.2-1ubuntu6
Version table:
*** 4:4.8.2-1ubuntu6 0
500 http://us.archive.ubuntu.com/ubuntu/ trusty/main AMD64 Packages
100 /var/lib/dpkg/status
1
Bill Kay

Comment avez-vous installé la sauge? Si vous avez utilisé le ppa AIMS, il semblerait que leur paquet sagemath-upstream-binary n'inclut pas un cc1 pour le gcc empaqueté - mais que le paquet sagemath-upstream-binary-full le fasse - steeldriver

Ce commentaire était la clé. J'ai désinstallé ma version de SAGE et utilisé le ppa AIMS avec le paquet sagemath-upstream-binary-full. Cela a résolu mon problème avec CC1.

Un addendum: Si vous êtes ici à cause de problèmes avec flagmatic, je recevais toujours un message d'erreur concernant une compilation de cython ayant échoué. Dans le fichier hypergraph_flag.pyx, j'ai modifié la ligne 38 de:

include "cdefs.pxi"

à

#include "cdefs.pxi"

Juste au cas où vous tomberiez sur ce fil spécifiquement à cause d’une erreur de compilation flagmatic.

1
Bill Kay