Install Evince from source
2.7.1.1 自動更新可能なPDF viewer
UbuntuでPDFを見るときに重要だと思う機能が,PDFの自動更新(auto
reload/update)だ。例えば,以下のようなpdfを出力して結果を確認したいときに修正した内容をリアルタイムで確認できて便利だ。
- Pythonのmatplotlibモジュールを使ってグラフをpdfで出力するとき
- LaTeXでdvipdfmxにより文書をpdfでプレビューするとき
この機能がないと自分でファイルを開き直さないといけないのでかなり面倒だ。
私が知っている範囲では,以下のPDF
viewerがこの機能を搭載している。
- SumatraPDF
- Evince
- Xpdf
Windows環境ではSumatraPDFを使っていた。このソフトは動作が軽快であり,他のEvinceとXpdfよりも高機能だった。SumatraPDFは基本的にはWindowsでしか動かない。しかし,Wineを使えばLinux上でも動作するとのことだ。
参考:Sumatra
under Linux (PDF viewer) | Stephen Lorio
http://lorio.net/sumatra-under-linux-pdf-viewer/
Xpdfはこれらの中では動作が最も軽快であったが,自動更新するに起動オプションが必要なようで,これを指定しなければ,rを押してファイルをリロードする必要があった。
EvinceはPDFに限らず多くの文書を開くことに対応している。デフォルトで自動更新にも対応している。また,ディストリビューションによっては標準でインストールされていたり,パッケージマネージャーで簡単にインストールできる。
このことからLinuxでは自動更新可能なPDFビューアとしてEvinceが最適だと考えている。しかし,Evinceを起動すると,以下のエラーメッセージが表示されて起動できない。
evince:
error while loading shared libraries: libz.so.1: failed to map
segment from shared object: Permission denied
evince:
error while loading shared libraries: libevdocument3.so.4: failed to
map segment from shared object: Permission denied
おそらく管理者権限の必要なライブラリを使おうとしているためだと思われる。しかし,原因がわからなかった。そこで,Evinceをソースコードからインストールすることでこの問題を解決する。
2.7.1.2 Install Evince
以下のサイトを参考にインストールしていく。
参考:Evince-3.12.1
http://www.linuxfromscratch.org/blfs/view/svn/gnome/evince.html
動作環境はUbuntu
14.04である。
必要なパッケージのインストール。
sudo
aptitude install intltool gsettings-desktop-schemas-dev
libglib2.0-dev gtk+-3.0-dev libgail-3-dev libsecret-1-dev
libxml2-utils libnautilus-extension-dev gobject-introspection
libgirepository1.0-dev
libpoppler-glib-dev
ファイルのダウンロード・コンパイル・インストール。
cd
~/local/src
tar
Jxf evince-3.12.1.tar.xz
./configure
–prefix=${HOME}/local/stow/evince-3.12.1 –enable-introspection
–disable-static
make
&> make.log
make
install
cd
~/local/stow
xstow
evince-3.12.1
以上でインストールが完了した。端末から以下のコマンドを実行すると無事Evinceが起動した。
evince
なお,ローカルパッケージ管理にxstowを採用しており,~/local/にxstowによりリンクを貼ってインストールしていることに注意していただきたい。
2.7.1.3 configure時のエラー対処
./configureの実行時に必要なパッケージがなくてエラーが出た。aptitudeでインストールしていったがパッケージ名がよくわからないものがいくつかあったので備忘録として参考情報をメモしておく。
なお,前節のインストール手順ではこの問題は解決済み(考慮してインストールしている)。
configure:
error: glib-compile-schemas not found.
参考:gnome
– How to get missing dependency for make empathy:
glib-compile-schemas? – Ask Ubuntu
http://askubuntu.com/questions/204643/how-to-get-missing-dependency-for-make-empathy-glib-compile-schemas
checking
for gobject-introspection… configure: error:
gobject-introspection-1.0 is not installed
参考:python
– pygobject-2.28.6 won’t configure: No package
‘gobject-introspection-1.0’ found, how do I resolve? – Stack Overflow
http://stackoverflow.com/questions/18025730/pygobject-2-28-6-wont-configure-no-package-gobject-introspection-1-0-found