Python ./configure findet keinen g ++ - Compiler


12

Ich versuche, Python 3.4.1 auf einem emulierten ARM-Computer (mit Debian 7) zu kompilieren. ./configuregibt mir

checking for g++... no

aber g ++ ist installiert. Was könnte das Problem sein? Ich weiß, dass es nicht unbedingt benötigt wird, aber ich würde es vorziehen, wenn makeg ++ für C ++ - Code verwendet wird.


Sind Sie sicher, dass g++es auf dem Computer installiert ist, auf dem Sie kompilieren? Was command -v g++druckt auf diesem Gerät? Wie haben Sie g ++ auf diesem Computer installiert?
Andrew Stubbs

Sind Sie sicher, dass g ++ an dem Speicherort installiert ist, auf den das Build-Skript verweist?
Ramhound

Was g++ -dumpmachinesagt das aus? Führen Sie aus dem gleichen Kontext wie./configure
Strg-Alt-Delor

@ AndrewStubbs: root@debian:~/python3-3.4.1# command -v g++/ usr / bin / g ++. Ich denke, g ++ war vorinstalliert, da ich kein anderes verwandtes Paket installiert habe.
Marco Sulla

@ Ramhound: Ich bin mir sicher, da auch gcc dabei ist /usr/bin. Configure findet gcc aber nicht g ++. Aus der Konfiguration des Quellcodes geht hervor, dass der Suchpfad genau der gleiche ist.
Marco Sulla

Antworten:


11

Problemumgehung:

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

Auf jeden Fall ist es sehr seltsam und es scheint ein Fehler im Konfigurationsskript zu sein. Es scheint ein bekanntes Problem zu sein . Naja...


EDIT : Es scheint, dass dies --with-cxx-maineine Option mit einem anderen Zweck ist. Auf einigen Plattformen ist die Unterstützung von C ++ - Erweiterungsmodulen erforderlich. Ich habe meine Antwort oben aktualisiert.


Siehe auch Issue Report unter bugs.python.org/issue25946
Karl Richter

2

Sie können den Speicherort von g ++ manuell mithilfe einer Umgebungsvariablen festlegen, die zur Konfiguration übergeben wird, wie in der Hilfe beschrieben:

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

Wenn Sie beispielsweise configure mit einem benutzerdefinierten Präfix ausführen, lautet Ihr Befehl:

./configure --prefix=/home/user/.local CXX="/usr/bin/g++"
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.