概要
go get したときに出たエラーです。macOSのバージョンによって解消方法が異なるようなので、Catalina 10.15での解決方法です。
結論
以下コマンドで、環境変数をセットして、該当コマンドを実行したところ、解消しました。
export SDKROOT="$(xcrun --sdk macosx --show-sdk-path)"
内容
DBから gorm structs を生成するツールを検証しようとローカルにインストールしようとしたところ発生しました。
go get -u github.com/smallnest/gen
# runtime/cgo
_cgo_export.c:3:10: fatal error: 'stdlib.h' file not found
調べたこと
全く同じエラーのQiitaがあったのですが、macOS 10.14 で、Catalina 10.15 では解消しませんでした。
https://qiita.com/gold-kou/items/739958f996825cf33b89
かなり昔から継続しているissueがあったので読み進めました。
途中の解決方法もOSのバージョンに依存していました。
最後まで読み進めて、Catalina 10.15での解決方法の記載がいくつかありました。
Cコンパイラの環境変数やllvmをアンインストールする方法の記載がありますが、影響範囲が読めなかったので、過去の解決方法でもSDKをopenすることで解消していることから、SDKのパスをCLIで釣って環境変数にセットする方法を採用しました。
export SDKROOT="$(xcrun --sdk macosx --show-sdk-path)"
感想
めでたし、めでたし