前回あえなく撃沈した ErgoDash のキーマップ変更だが、リベンジすることにした。
ちなみに前回書き忘れていた自分の環境
- macOS Catalina(10.15.2)
経験者に聞く
今帰宅してブログ見直してみましたが、すんません、これコンパイルエラーですね、、失礼しました
— SUZUKI TakaHAL (@hal666) 2020年1月1日
私のは WSL 環境で avr-gcc のバージョンは 5.4.0 (古いhttps://t.co/qmflflEzhv
によると 8.x 系は使えない的なコメントがあるので、甚六さんも avr-gcc 入れなおされてるようですが、
バージョンがとりあえず臭いですね
— SUZUKI TakaHAL (@hal666) 2020年1月1日
ちなみに mac 用の QMK Toolbox は同じブログですがhttps://t.co/OqHu1lA7AN
が参考になるかと
自作キーボード作成経験者にリプ飛ばして聞いてみたり。そして便利なサイトを聞いてみたり。
ここでavr-gcc@7はバージョン7.xをインストールしているということですが、これは8.xだとエラーが出るためにダウングレードしているためで現在ではavr-gccのバージョンは9.xになっており問題なく使えるので以下のコマンドで最新バージョンを入れます。
./util/macos_install.sh を確認する限り、avr-gcc ならびに arm-gcc-bin をバージョン 8 でインストールしている模様。なお、前回の時点で avr-gcc および arm-gcc-bin を最新版にして試したが件のエラーメッセージが表示されていた。
そこで、ダウングレードを試みた。が、avr-gcc はダウングレードできたが、arm-gcc-bin を Homebrew からダウングレードさせることができず結局ふり出しに戻った。
アウトプットしたところにしか情報は集まらない
八方手詰まり状態だったのだが、突然神が舞い降りた。
丁度同じタイミングで同じ問題で苦労しましたが、ここを参考にすると解決しました。 https://stackoverflow.com/questions/59538261/dyld-library-not-loaded-usr-local-opt-isl-lib-libisl-21-dylib
id:VSDASD さんのコメントで無事解決できました。本当にありがとうございます!
このコメントを見た時に、以前突然 znz さんからコメントをもらったことを思い出した。
「知見はアウトプットしたところにしか集まらない」と同僚が言っていたが、再び経験することとなった。
実際にやったこと
brew uninstall avr-gcc
(最新版 avr-gcc をアンイストール)brew uninstall arm-gcc-bin
(最新版 arm-gcc-bin をアンイストール)brew install avr-gcc@8
(avr-gcc 8.3.0 をインストール)brew install arm-gcc-bin@8
→「既にインストール済み」というメッセージが出たbrew reinstall arm-gcc-bin@8
(再インストール。無事成功)brew link --force avr-gcc@8
(./util/macos_install.sh に倣う)brew link --force arm-gcc-bin@8
(./util/macos_install.sh に倣う)install_name_tool -change '/usr/local/opt/isl/lib/libisl.21.dylib' /usr/local/opt/isl/lib/libisl.dylib /usr/local/Cellar/avr-gcc@8/8.3.0/libexec/gcc/avr/8.3.0/cc1
make ergodash/rev1:default:avrdude
(***.hex ファイル作成および転送)- 何やらいっぱいコンパイルメッセージが出た後に「Detecting USB port, reset your controller now」と聞かれるので書き換えていいなら、ErgoDash の物理リセットボタンを押す
- 無事転送完了しキーマップが変更される
手順 10 でメッセージを読まず、延々とドットが表示されている現象が「リンカが動いている」のかと思ってしばらく見守ってしまった。
まとめ
多分、実際にやったこと手順 8 のパスを変更すれば avr-gcc は最新版でもいけるんじゃないかと思う。(誰かやって欲しい)
とりあえず自分が望むキーマップには変更できたので、このインタフェースに慣れる訓練が必要。今はMBP のキーボードから入力している。
あと忘れずに代金を支払う。