PreonicをMassdropから数年後に使い始めるつもりがコンパイルに失敗した

数年前に、Massdrop(現[Drop](https://drop.com))からPreonicを購入した。
しかし、当時はなかなか購入できず、[Planck](47b62326ee2f189c97f7)やその[ロウプロファイル(ロープロファイル？)版](5ebc6c0363d3dab9f9f5)を先に入手して使っていた。
一応満足していたため、本命の[プレオニック](f34562f27d19beb576c9)(orプリオニック)(カタカナ表記合っている？)を入手したまま放置してしまった。

今回、数年ぶりに取り出し、キーマップを[プランク](https://github.com/chesscommands/qmk_firmware/tree/master/keyboards/planck/keymaps/chesscommands)に併せるつもりで変更した。
その前準備として、数ヶ月ぶりにQMKを最新版にしようと思った。
`make preonic/rev3:chesscommands:dfu-util`
その作業でコンパイルに失敗するというか、そもそもコンパイルが進まない。
おう、まい がっ！！

## コンパイルが進まない判断材料
プロセスを確認したとき、以下のように処理が止まったまま[動かない](https://do-zan.com/mac-terminal-ps/#i-7)(`S+`)。
数時間放置したが、動く気配がない。

```terminal:compile作業
$ ps aux | grep make | grep -v grep
chesscommands   5608   0.0  0.2  4314224  37900 s002  S+   11:57AM   0:02.35 /Applications/Xcode.app/Contents/Developer/usr/bin/make preonic/rev3:chesscommands
$
```

レディットで質問したのだが、解決しないまま放置されている。


## GitHubから最新版のQMKと統合(マージ)
基本的な流れ。

```terminal:makeコマンド確認
# 移動
cd ~/qmk_firmware
# リモート追跡ブランチに本物のQMK-URLを追加する。
git remote add upstream https://github.com/qmk/qmk_firmware.git
# 追加確認
git remote -v
# リモート追跡ブランチから取得(フェッチ)。
git fetch upstream
# 現行との比較。
git diff HEAD..FETCH_HEAD
# 実際のマージ
git merge upstream/master
# 競合が発生した場合、解消する。
git mergetool
# 解消確認
git status
# 既存環境削除
make clean
# サブモジュールのコンパイル実施。
make git-submodule
# 実際のコンパイル及びキーボード本体の更新
#make planck/rev6:chesscommands:dfu-util
#make planck/light:chesscommands:dfu
#make preonic/rev3:chesscommands:dfu-util
# リモート追跡ブランチ削除
git remote rm upstream
# コンパイルが通っている場合、Githubに送出する。
git push origin master
```

ここで不思議なのは、そもそもサブモジュールすら正常にコンパイルが通らなかったこと。

```terminal:git-submodule
$ make git-submodule
QMK Firmware 0.13.24
Synchronizing submodule url for 'lib/chibios'
Synchronizing submodule url for 'lib/chibios-contrib'
Synchronizing submodule url for 'lib/googletest'
Synchronizing submodule url for 'lib/lufa'
Synchronizing submodule url for 'lib/printf'
Synchronizing submodule url for 'lib/ugfx'
Synchronizing submodule url for 'lib/vusb'
$
```

書き換えはない？

## 原因究明
順に説明するとして、まずは、、、

### [環境構築](https://github.com/qmk/qmk_firmware/blob/master/docs/ja/newbs_getting_started.md)のやり直しをした。
必要なコマンドは、`brew install qmk/qmk/qmk`だった。

警告は出ていたが、特に問題なくインストールできたと思っていた。
しかし、
今回のQMKに関係ないと思われていたメッセージを改めて確認した。

```txt:message
Warning: Your Xcode (11.3) is outdated.
Please update to Xcode 11.3.1 (or delete it).
Xcode can be updated from the App Store.

Warning: A newer Command Line Tools release is available.
Update them from Software Update in System Preferences or run:
  softwareupdate --all --install --force

If that doesn't show you any updates, run:
  sudo rm -rf /Library/Developer/CommandLineTools
  sudo xcode-select --install

Alternatively, manually download them from:
  https://developer.apple.com/download/more/.
You should download the Command Line Tools for Xcode 11.3.1.
```

### 原因究明の大本命
上記の警告(ワーニング)メッセージが全てを解決してくれる案内でした。

#### softwareupdate
インストール

```terminal:softwareupdate
$ softwareupdate --all --install --force
Software Update Tool

Finding available software

Downloaded Safari
Downloading macOS Mojaveセキュリティアップデート2021-005
Downloaded macOS Mojaveセキュリティアップデート2021-005
Preparing macOS Mojaveセキュリティアップデート2021-005
Installing macOS Mojaveセキュリティアップデート2021-005, Safari
Done with Safari
Done.
To install these updates, your computer must shut down. Your computer will automatically start up to finish installation.
Installation will not complete successfully if you choose to restart your computer instead of shutting down.
Please call halt(8) or select Shut Down from the Apple menu. To automate the shutdown process with softwareupdate(8), use --restart.
$
```

端末再起動。

#### CommandLineTools
Macにインストールしたのが数年前のはずで、アップデートしたつもりが全くしていなかっただろうことが判明した瞬間でもある。

```terminal:CommandLineTools
$ sudo rm -rf /Library/Developer/CommandLineTools
Password:
$ ll /Library/Developer/CommandLineTools
ls: /Library/Developer/CommandLineTools: No such file or directory
$ sudo xcode-select --install
xcode-select: note: install requested for command line developer tools
$
```


#### 改めてやり直し(qmk/qmk/qmk)
もう一度インストールを行った。


```terminal:qmk/qmk/qmkインストール
$ brew install qmk/qmk/qmk
Updating Homebrew...
==> Auto-updated Homebrew!
Updated Homebrew from 071d769b0 to 3e52e8b48.
Updated 3 taps (homebrew/core, homebrew/cask and homebrew/cask-fonts).
==> New Formulae
bash_unit
==> Updated Formulae
Updated 25 formulae.
==> Updated Casks
Updated 28 casks.


==> Homebrew was updated to version 3.2.4
The changelog can be found at:
  https://github.com/Homebrew/brew/releases/tag/3.2.4
Warning: qmk/qmk/qmk 0.2.2 is already installed and up-to-date.
To reinstall 0.2.2, run:
  brew reinstall qmk
$
```

## 蓋を開けてびっくり
解決できればたいしたことない作業だが、解決までに数時間を費やしてしまった。
何とも情けない。
こんなことでは就職もままならないはずだよ・・・。


以上。