gentooでgnome-base/nautilus-3.22.2がビルドできなかったのを解決
ちょっと前からgentooのgnome-base/nautilus-3.22.2がビルドできず, アップデートが出来ませんでした. まあそのうち治るだろう, 1つバージョンが古くても困らないし, と思って放置していましたが, しばらく経っても治らなかったので, 原因を真面目に調査してみることにしました.
ビルドエラー
エラーメッセージは
In file included from nautilus-file-undo-operations.c:35:0:
nautilus-batch-rename-utilities.h:24:28: fatal error: tracker-sparql.h: No such file or directory
原因はtracker-sparql.h
がないことみたいですね.
ファイルの調査
portageでファイルが不足した時には超便利なwebサービスがあってPortage File Listというサービスにファイル名を入力してやれば, ファイルを入れてくれるパッケージを出してくれます.
これによるとまあ予想通りですがtracker-sparql.h
はapp-misc/tracker
を入れれば入るみたいですね.
私はgnomeを使わずにnautilusだけを使っていましたが,
それはgentooの人の予想を外れたようです.
media-video/totem-3.22.0のビルドエラー
app-misc/tracker
を入れれば解決…
と言いたいところでしたが,
その依存するライブラリであるmedia-video/totem-3.22.0
がビルドエラーを吐いてくれました.
./configure: line 22703: syntax error near unexpected token `no,GNOME_ENABLE_DEBUG'
./configure: line 22703: ` AX_CHECK_ENABLE_DEBUG(no,GNOME_ENABLE_DEBUG)'
だそうです, やっぱりgnome入れずにnautilusだけ使おうとするのが悪いんですかね…
仕方がないのでtotemを入れないようになんとか回避します. 根本的な解決策ではないけれど, 正直gnomeのゴタゴタを真面目に回避するのは面倒くさいです. だって私gnomeは使わないもの.
useフラグを見る限り, totemはtrackerがffmpegかgstreamerに依存するように設定してあげればインストールされないようです. totemは動画プレイヤーなので, デフォルトではgstreamerの代わりに動画処理を担うように設定してあげてるんでしょうね.
なのでpackage.use
に以下を記載.
# required by nautilus
app-misc/tracker gstreamer
nautilusがまだビルドエラー
これでtrackerがインストール完了しましたが, nautilusのエラーはまだ解決しません. nautilusのtracker use flagを有効にしてあげないと, includeパスが通らないようですね. なので以下のように記載します.
# required by gnome-base/nautilus-3.22.2
gnome-base/nautilus tracker
app-misc/tracker gstreamer
これで本当の本当に解決です.
報告が面倒くさい
本来はバグ報告をするべきなんでしょうが, 英語を書くのが面倒くさくてなかなかやる気になりません. 英語が苦手なのは困ったものです.