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.happ-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

これで本当の本当に解決です.

報告が面倒くさい

本来はバグ報告をするべきなんでしょうが,英語を書くのが面倒くさくてなかなかやる気になりません.英語が苦手なのは困ったものです.

このエントリーをはてなブックマークに追加 fb-like g-plusone