Python ./configure не находит компилятор g ++


12

Я пытаюсь скомпилировать Python 3.4.1 на эмулированной машине ARM (с Debian 7). ./configureдает мне

checking for g++... no

но g ++ установлен. Так в чем может быть проблема? Я знаю, что в этом нет особой необходимости, но я бы предпочел makeиспользовать g ++ для кода c ++.


Вы уверены, что g++установлен на компьютере, на котором вы компилируете? Что command -v g++на этой машине печатает? Как вы установили g ++ на эту машину?
Эндрю Стаббс

Вы уверены, что g ++ установлен в том месте, на которое указывает скрипт сборки.
Ramhound

Что g++ -dumpmachineговорит? Выполнить из того же контекста, что и./configure
ctrl-alt-delor

@AndrewStubbs: root@debian:~/python3-3.4.1# command -v g++/ usr / bin / g ++. Я думаю, что g ++ был предустановлен, так как я не установил никакой другой связанный пакет.
Марко Сулла

@Ramhound: я уверен, так как также gcc /usr/bin. Configure находит gcc, но не g ++. Из конфигурации исходного кода кажется, что путь поиска точно такой же.
Марко Сулла

Ответы:


11

Временное решение:

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

В любом случае, это очень странно, и кажется, что это ошибка в скрипте конфигурации. Кажется, это известная проблема . Ну что ж...


РЕДАКТИРОВАТЬ : Кажется, что --with-cxx-mainэто вариант с другой целью. На некоторых платформах требуется поддержка модулей расширения C ++. Я обновил свой ответ выше.


Смотрите также отчет о проблеме на bugs.python.org/issue25946
Карл Рихтер

2

Вы можете установить местоположение g ++ вручную, используя переменную среды, переданную для настройки, как описано в справке:

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

Например, если вы запускаете configure с пользовательским префиксом, ваша команда будет:

./configure --prefix=/home/user/.local CXX="/usr/bin/g++"
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.