memo.xight.org

日々のメモ

Apple Silicon + Big Sur 11.3 Beta + anyenv + pyenv + python3.10.0a5

Summary

pyenv で python をインストールすると arm64-apple が認識できない。

checking build system type... Invalid configuration `arm64-apple-darwin20.4.0': machine `arm64-apple' not recognized
configure: error: /bin/sh ./config.sub arm64-apple-darwin20.4.0 failed

config.subにpatch をあててインストール ([2021-04-16] 追記)

% pyenv install --patch 3.10.0a5 <<(curl -sSL https://gist.githubusercontent.com/xight/74f84b8bde9ac6f539c3db20c2897d46/raw/cf2fd7ff5572afafb54d062f866e40d5e65cab43/config-sub.patch)


config.sub を入れ替えて configure (ad hoc)

$ cd /var/folders/PATH/TO/python-build.YYYYMMDDhhmmss.xxxxx.XXXXXX/Python3.10.0a5
$ mv config.sub config.sub.bak
$ wget https://raw.githubusercontent.com/gcc-mirror/gcc/master/config.sub
$ cd ..
$ ./configure --prefix=$(pyenv root)/versions/3.10.0a5 \
              --enable-unicode=ucs4 \
              --with-openssl=$(brew --prefix openssl) \
              --enable-optimizations
$ make
$ make install


symlinkを作成

$ cd $(pyenv prefix)/bin
$ ln -s python3.10 python
$ ln -s pydoc3.10 pydpc
$ ln -s idle3.10 idle
$ ln -s pip3.10 pip


確認

$ pyenv global 3.10.0a5
$ python --version
Python3.10.0a5
$ lipo -archs $(pyenv prefix)/bin/python3.10
arm64


課題: Universal binary でmakeできていない

PATH/TO/Python-3.x.x/Mac/README.rst を参照

$ ./configure --enable-universalsdk \
			  --with-universal-archs=universal2