golang 1.9.4とCGO_CFLAGS_ALLOW環境変数
golangで1.9.4のセキュリティアップデートでてます。
ところがアップデートすると、cgoのCFLAG等で制限されたフラグを使ってるライブラリで以下のようなメッセージを吐いてビルドがこけるようになるケースがある模様。(´;ω;`)ブワッ
$ go get github.com/crewjam/go-xmlsec go build github.com/crewjam/go-xmlsec: invalid flag in #cgo CFLAGS: -w
そんなときは、慌てず騒がずトライアンドエラーで許可するフラグの正規表現つくってCGO_CFLAGS_ALLOW
環境変数にいれれば、ビルドはできるようになります。
$ export CGO_CFLAGS_ALLOW="\\A(-w|-UXMLSEC_CRYPTO_DYNAMIC_LOADING)\\z" $ go get github.com/crewjam/go-xmlsec
でもエラーになったからって何も考えずに-fplugin=
とか-plugin=
とかを許可するとセキュリティアップデートのイミがなくなるので、フラグのイミはちゃんと確認することをオススメします。
取り急ぎ、以上。