Ich versuche, Python 3.6 für meinen Raspberry Pi basierend auf den Anweisungen in diesem Beitrag zu kompilieren.
export CC=arm-bcm2708hardfp-linux-gnueabi-gcc export LD=arm-bcm2708hardfp-linux-gnueabi-ld export CXX=arm-bcm2708hardfp-linux-gnueabi-g++ export CPP="arm-bcm2708hardfp-linux-gnueabi-g++ -E" export READELF=arm-bcm2708hardfp-linux-gnueabi-readelf export RANLIB=arm-bcm2708hardfp-linux-gnueabi-ranlib export AR=arm-bcm2708hardfp-linux-gnueabi-ar
echo ac_cv_file__dev_ptmx=no > ./config.site
echo ac_cv_file__dev_ptc=no >> ./config.site
CONFIG_SITE=config.site ./configure --prefix=/home/user/Downloads/Python-3.6.1 --enable-ipv6 --build=arm-unknown-linux-gnueabihf --host=arm-unknown-linux-gnueabihf
make -j4
make install
Ich stecke jedoch bei dem configure
Befehl fest, der mit einem Fehler beendet wird, der besagt:
checking whether we are cross compiling... configure: error: in `/home/user/Downloads/Python-3.6.1':
configure: error: cannot run C compiled programs.
If you meant to cross compile, use `--host'.
See `config.log' for more details
Was mache ich falsch? Mein Host-Computer ist Fedora 25 x86_64 und mein Raspberry PI ist ein Modell 3 B.
pi-3
cross-compilation
fedora
arielnmz
quelle
quelle
python36
Paket zu verwenden, das bereits in Fedora 24 und höher verfügbar ist?sudo dnf install python36
Antworten:
Die Anweisungen in diesem Github-Wiki haben es für mich getan:
Wie Sie sehen, habe ich den Teil über das Kompilieren von PGen absichtlich weggelassen und auch die HOSTPGEN-Envvar weggelassen, und die Kompilierung wurde korrekt abgeschlossen. Alles, was ich tun musste, war, das Altinstall-Ziel mit einem Zielpräfix wie diesem zu erstellen (ich habe diesen letzten Schritt ausgeführt aus dieser Anleitung zum Cross-Compilieren von Python 2):
Und schließlich kopieren Sie den Inhalt des Verzeichnisses _install auf das Zielgerät (für mich war der Zielpfad unter / usr /).
quelle
Anhand Ihres Beispiels würde ich versuchen, aus dem Python-Quellordner:
quelle
arm-unknown-linux-gnueabihf
zu ändern solltei386-linux
? 2. Soll ich verwendenx86_64-linux
oderamd64-linux
falls ich auf einem 64-Bit-Computer bin? 3. Was ist der Unterschied zwischenarm-unknown-linux-gnueabihf
undarm-bcm2708hardfp-linux-gnueabi
?