ラズパイを64bit化したので、Pythonも64bit版にしようとしているのですが苦戦し、行き詰まってしまいました。Pythonは3.9.6をインストールしたいです。
uname -aした結果は以下の通りです。
Linux 5.10.49-v8+ #1436 SMP PREEMPT Wed Jul 14 14:20:10 BST 2021 aarch64 GNU/Linux
bash
1wget https://www.python.org/ftp/python/3.9.6/Python-3.9.6.tar.xz 2./configure 3make 4sudo make install
をしてインストールしなおしたのですが、
python3
1print(sys.maxsize)
で確認しても32bitのままでした
どなたかお詳しい方、ご教授いただけると幸いです。
#追記
御助言の通り調べてみたところ、make後の段階でも32bitだと判明しました。
readline.cpython-39-arm-linux-gnueabihf.so: ELF 32-bit LSB pie executable, ARM, EABI5 version 1 (SYSV)
make 時に動いたコンパイラは 64-bit コードを生成したのでしょうか?
ありがとうございます。
現在、再コンパイル中なのですが、
gcc -pthread -shared -fprofile-generate build/temp.linux-aarch64-3.9/*******/Python-3.9.6/Modules/mathmodule.o Modules/_math.o -L/usr/lib/arm-linux-gnueabihf -L/usr/local/lib -lm -o build/lib.linux-aarch64-3.9/math.cpython-39-arm-linux-gnueabihf.so
building 'cmath' extension
gcc -pthread -fPIC -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -std=c99 -Wextra -Wno-unused-result -Wno-unused-parameter -Wno-missing-field-initializers -Werror=implicit-function-declaration -fvisibility=hidden -fprofile-generate -I./Include/internal -I./Include -I. -I/usr/include/arm-linux-gnueabihf -I/usr/local/include -I/*********/Python-3.9.6/Include -
一部ログを抽出すると、「inux-aarch64-3.9」がでていました。
これは64-bitコードを生成しているということでしょうか?
> 64-bit コードを生成したかどうか
コンパイルしてできたものをfileコマンドで調べてみたらいかがでしょうか
参考
https://www.itmedia.co.jp/help/tips/linux/l0448.html
https://devlights.hatenablog.com/entry/2020/11/10/151736
ありがとうございます。
readline.cpython-39-arm-linux-gnueabihf.so: ELF 32-bit LSB pie executable, ARM, EABI5 version 1 (SYSV)
32bitでした。。。泣
ディレクトリの名前自体は
lib.linux-aarch64-3.9なのに、、、
回答1件
あなたの回答
tips
プレビュー