Python ./configure ne trouve pas le compilateur g ++


12

J'essaie de compiler Python 3.4.1 sur une machine ARM émulée (avec Debian 7). ./configureDonne moi

checking for g++... no

mais g ++ est installé. Alors, quel pourrait être le problème? Je sais que ce n'est pas strictement nécessaire, mais je préférerais que makeg ++ utilise le code c ++.


Êtes-vous sûr qu'il g++est installé sur la machine sur laquelle vous compilez? Qu'est-ce command -v g++qui imprime sur cette machine? Comment avez-vous installé g ++ sur cette machine?
Andrew Stubbs

Êtes-vous sûr que g ++ est installé à l'emplacement vers lequel pointe le script de génération.
Ramhound

Que g++ -dumpmachinedit-on? Exécuter à partir du même contexte que./configure
ctrl-alt-delor

@AndrewStubbs: root@debian:~/python3-3.4.1# command -v g++/ usr / bin / g ++. Je pense que g ++ a été préinstallé, car je n'ai installé aucun autre package associé.
Marco Sulla

@Ramhound: Je suis sûr, car aussi gcc est dedans /usr/bin. Configure trouve gcc mais pas g ++. De configurer le code source, il semble que le chemin de recherche soit exactement le même.
Marco Sulla

Réponses:


11

Solution de contournement:

CXX=/usr/bin/g++ ./configure

Quoi qu'il en soit, c'est très étrange et cela semble être un bug dans le script de configuration. Cela semble être un problème connu . Tant pis...


EDIT : Il semble que ce --with-cxx-mainsoit une option avec un objectif différent. Il est requis sur certaines plates-formes pour prendre en charge les modules d'extension C ++. J'ai mis à jour ma réponse ci-dessus.


Voir également le rapport de problème sur bugs.python.org/issue25946
Karl Richter

2

Vous pouvez définir manuellement l'emplacement de g ++ à l'aide d'une variable d'environnement passée à configurer, comme décrit dans l'aide:

Usage: ./configure [OPTION]... [VAR=VALUE]...

Par exemple, si vous exécutez configure avec un préfixe personnalisé, votre commande serait:

./configure --prefix=/home/user/.local CXX="/usr/bin/g++"
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.