• 作成:

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

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

報告が面倒くさい

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