Python ./configure tidak menemukan kompiler g ++


12

Saya mencoba mengkompilasi Python 3.4.1 pada mesin ARM yang ditiru (dengan Debian 7). ./configurememberi saya

checking for g++... no

tetapi g ++ diinstal. Jadi, apa masalahnya? Saya tahu ini tidak sepenuhnya diperlukan, tetapi saya lebih suka yang makeakan menggunakan g ++ untuk kode c ++.


Apakah Anda yakin g++diinstal pada mesin yang Anda kompilasi? Apa command -v g++yang tercetak pada mesin itu? Bagaimana Anda menginstal g ++ di mesin itu?
Andrew Stubbs

Apakah Anda yakin g ++ diinstal di lokasi yang ditunjuk oleh skrip build.
Ramhound

Apa yang g++ -dumpmachinedikatakan? Jalankan dari konteks yang sama dengan./configure
ctrl-alt-delor

@AndrewStubbs: root@debian:~/python3-3.4.1# command -v g++/ usr / bin / g ++. Saya pikir g ++ sudah diinstal sebelumnya, karena saya belum menginstal paket terkait lainnya.
Marco Sulla

@Ramhound: Saya yakin, karena gcc juga ada di /usr/bin. Konfigurasikan menemukan gcc tetapi tidak g ++. Dari konfigurasikan kode sumber, tampaknya jalur pencarian persis sama.
Marco Sulla

Jawaban:


11

Penanganan masalah:

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

Pokoknya itu sangat aneh dan sepertinya ada bug di skrip configure. Tampaknya menjadi masalah yang diketahui . Baiklah...


EDIT : Tampaknya itu --with-cxx-mainadalah opsi dengan tujuan yang berbeda. Dibutuhkan pada beberapa platform untuk mendukung modul ekstensi C ++. Saya memperbarui jawaban saya di atas.


Lihat juga terbitkan laporan di bugs.python.org/issue25946
Karl Richter

2

Anda dapat mengatur lokasi g ++ secara manual menggunakan variabel lingkungan yang dikirimkan untuk mengonfigurasi, seperti dijelaskan dalam bantuan:

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

Misalnya, jika Anda menjalankan konfigurasi dengan awalan khusus, perintah Anda adalah:

./configure --prefix=/home/user/.local CXX="/usr/bin/g++"
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.