参考にしたサイトと履歴を誤って飛ばしたので、見つけ次第追記する。。。
問題
gtk2
をgemでインストールする際に下記エラーが発生した。(抜粋)
rbgdkdisplay.c:450:22: error: implicit declaration of function 'gdk_x11_display_get_startup_notification_id' is invalid in C99 [-Werror,-Wimplicit-function-declaration] return CSTR2RVAL(gdk_x11_display_get_startup_notification_id(_SELF(self)));
環境
名称 | バージョン |
---|---|
OS | macOS 11.6 |
CPU | Intel Core i9 |
mikutter | コミットハッシュ: 3a36070a |
対応
とりあえずビルドを成功させたいため implicit-function-declaration
をフラグで無視することにした。
gemコマンドによる確認
下記コマンドを実行して、ビルドが通ることを確認した。
gem install gtk2 -v '3.4.3' --source 'https://rubygems.org/' -- --with-cflags="-Wno-error=implicit-function-declaration"
bundlerによる確認
gemでのビルドを確認できたので、bundlerについても下記コマンドを実行して確認した。
bundle config --local build.gtk2 --with-cflags=\"-Wno-error=implicit-function-declaration\"
これによりプロジェクトディレクトリの .bundle/config
ファイルに下記設定が追記された。
diff --git a/config b/config index 2369228..445a81b 100644 --- a/config +++ b/config @@ -1,2 +1,3 @@ --- BUNDLE_PATH: "vendor/bundle" +BUNDLE_BUILD__GTK2: "--with-cflags=\"-Wno-error=implicit-function-declaration\""