Saya mencoba menginstal PyCrypto untuk Python 3 di Solaris. Apakah saya melakukannya melalui " python3 setup.py install
" atau " pip3 install pycrypto
", saya mengalami masalah yang sama: panggilan dibuat ke gcc yang tidak ada:
python3 setup.py install
[...]
/opt/csw/bin/gcc-4.8 -pipe -m32 -march=pentiumpro -Wno-unused-result -fwrapv -Wall -Wstrict-prototypes -pipe -m32 -march=pentiumpro -I/usr/include/gmp -fPIC -std=c99 -O3 -fomit-frame-pointer -Isrc/ -I/usr/include/ -I/opt/csw/include/python3.3m -c src/_fastmath.c -o build/temp.solaris-2.11-i86pc.32bit-3.3/src/_fastmath.o
unable to execute /opt/csw/bin/gcc-4.8: No such file or directory
Sekarang, saya tidak tahu apa-apa tentang sejarah mesin yang saya pakai. Mungkin saja /opt/csw/bin/gcc-4.8 ada di beberapa titik di masa lalu. Tapi sekarang tidak lagi. export CC=/usr/bin/gcc
(atau gcc lain) TIDAK memperbaiki masalah --- tanpa gagal /opt/csw/bin/gcc-4.8 disebut.
Saya kurang tertarik untuk menginstal PyCrypto dan lebih tertarik untuk memahami MENGAPA panggilan palsu ini dibuat untuk memulai. Di mana nilai "/opt/csw/bin/gcc-4.8" disimpan? Bagaimana / di mana sistem bahkan mendapatkan informasi untuk berpikir bahwa ia perlu memanggil kompilator itu?
Satu-satunya hal yang dapat saya pikirkan adalah bahwa Python3 awalnya dikompilasi dengan /opt/csw/bin/gcc-4.8, dan Python3 membuatnya dibakar secara permanen di suatu tempat yang /opt/csw/bin/gcc-4.8 adalah kompiler yang digunakan untuk menyusun barang. Jika ini masalahnya, apakah saya sebaiknya menghapus dan menginstal ulang Python3 untuk menghilangkan ketergantungan yang salah ini?
sumber
distutils
? Lihat juga: stackoverflow.com/questions/5967065/…setup.py
untuk memulai.sudo
, bukan?Jawaban:
/opt/csw/bin/gcc-4.8
path menunjukkan untuk OpenCSW yang datang pra-instal dengan Oracle distro (baik 4,8 dihapus atau ada versi lain).Coba atur variabel lingkungan
CC
danCXX
dari dalamsetup.py
denganos.environ
:(4.7 adalah versi saya
g++
, set ke apa yang ada di Anda/bin
).sumber
Buat tautan lunak pada
/opt/csw/bin/gcc-4.8
titik itu ke kompilercc
atau Andagcc
, mungkin?sumber
gcc
opsi baris perintah berbeda. Sebuah skrip yang membuang opsi khusus gcc dan kemudian memanggil kompiler yang tersedia mungkin bekerja.maybe?
, daripada menunjukkan cara membuat tautan seperti itu dan bagaimana itu bisa membantu. Saya menarik komentar saya jika saya satu-satunya yang merasa seperti itu.