1. taku-0728

    Posted

    taku-0728
Changes in title
+pyenv install 3.x.x で error: C compiler cannot create executables
Changes in tags
Changes in body
Source | HTML | Preview
@@ -0,0 +1,129 @@
+## 忙しい人向け
+細かいことはいいから結論が知りたい人向けに先に結論を記載します。
+[解決法3 xcode-betaのインストールと適用](#解決法3-xcode-betaのインストールと適用) で筆者は解決しました。
+
+## はじめに
+
+久々にPythonで遊ぼうと思ってpyenvでPython3系をインストールしようと思ったらハマって1時間かかったのでメモとして残します。
+
+## 開発環境
+
+- OS: macOS Big Sur 11.2
+- pyenv: 1.2.22
+
+## 事象
+
+```zsh
+
+$ brew install pyenv
+```
+
+実行後にバージョンを指定してPythonをインストールしようとするとタイトルのエラーが発生
+します。
+筆者の場合は3.9.1をインストールしようとしてエラーになりました。
+
+```zsh
+
+$ pyenv install 3.9.1
+
+~中略~
+
+BUILD FAILED (OS X 10.15.7 using python-build 20180424)
+
+Inspect or clean up the working tree at /var/folders/k6/z1nv88hn50lbyt0jk334wlqr0000gn/T/python-build.20210208220628.20206
+Results logged to /var/folders/k6/z1nv88hn50lbyt0jk334wlqr0000gn/T/python-build.220210208220628.20206.log
+
+Last 10 log lines:
+checking for python3.9.1... python3.9.1
+checking for --enable-universalsdk... no
+checking for --with-universal-archs... no
+checking MACHDEP... "darwin"
+checking for gcc... clang
+checking whether the C compiler works... no
+configure: error: in `/var/folders/k6/z1nv88hn50lbyt0jk334wlqr0000gn/T/python-build.20201015235728.20206/Python-3.9.1':
+configure: error: C compiler cannot create executables
+See `config.log' for more details
+```
+
+**エラーは解決後に再現できなかったのでうろ覚えだがこんな感じだったはず...!**
+
+## 対処法
+### その1 pyenvを再インストールしてみる
+
+色々調べてみるとpyenvを再インストールすることで解決した事例もあるようなので半信半疑で試してみる
+
+```zsh
+
+$ brew uninstall pyenv
+$ brew install pyenv
+$ pyenv install 3.9.1
+
+~中略~
+
+configure: error: C compiler cannot create executables
+See `config.log' for more details
+```
+
+まあそりゃそうだよねー。
+解決するはずもないので対処法2へ
+
+### 対処法2 command line tools for xcode の確認
+
+なんとなくエラー文から推測するにCコンパイラがおかしそうなので、command line tools for xcodeが入っているかと、xcodeが最新版になっているかを確認してみる。
+
+```zsh
+$ xcode-select --install
+xcode-select: error: command line tools are already installed, use "Software Update" to install updates
+```
+
+```zsh
+$ softwareupdate --list
+Software Update Tool
+
+Finding available software
+No new software available.
+```
+
+コマンドラインツールはちゃんと入ってる(brewが動いているので当然ではあるが)し、
+Xcodeのアップデートも確認したが最新版になっている。
+念の為macOSのアップデートも確認したが、(2020/02/09現在)最新版になっている。
+解決しないので解決法3へ
+
+### 解決法3 xcode-betaのインストールと適用
+
+最終的にこちらの
+[Python 3.9.0、3.8.6を pyenv を使って macOS BigSur にインストールする](https://qiita.com/craymaru/items/58e92fac99b5b0ec778f)
+を参考にして解決しました!
+
+色々調べてみるとどうやらmacOSのバージョンが新しすぎてXcodeが対応していない(**ここの理解は自信ないので間違っていればコメントで補足ください**)ようなので、上の記事を参考にXcodeのベータ版を入れて対応する。
+
+1. [Beta Software Downloads](https://developer.apple.com/download/) よりXcode-betaのダウンロードをする。(要Apple ID)
+2. 1でダウンロードしたXcode-betaを開き、Prefarence->Locationsへ
+3. Command Line Tools を1でダウンロードしたバージョンに変更
+
+ここまでできたら
+
+```zsh
+LDFLAGS="-L$(xcrun --show-sdk-path)/usr/lib" pyenv install 3.9.1
+```
+
+とやれば
+
+```zsh
+$ pyenv versions
+system (set by /usr/local/var/pyenv/version)
+ 3.9.1
+
+$ pyenv global 3.9.1
+$ zsh -l
+$ python --version
+Python 3.9.1
+```
+
+## 結果
+
+:tada:無事Python3系がインストールできた:tada:
+
+## 参考
+[Python 3.9.0、3.8.6を pyenv を使って macOS BigSur にインストールする](https://qiita.com/craymaru/items/58e92fac99b5b0ec778f)
+[Macのpyenvでconfigure: error: C compiler cannot create executables](https://cocoinit23.com/pyenv-configure-error-c-compiler-cannot-create-executables/)