Epson DS-510用ドライバのインストール
Epson DS-510が届いたので、早速セイコーエプソン株式会社が提供するLinuxドライバから
*.debなファイルをダウンロードしてきた。
しかし、Ubuntu10.04向けのパッケージのため依存するパッケージの一部(libhal1, libudev0, hal)が見つからず、そのままでは13.10な環境には入らないようだ。
そのため、ソースファイルからdebパッケージを作りなおすことにした。
必要なパッケージのインストール
deb作成に必要なもの、コンパイルに必要なもの等いろいろあるが、下記あたりをインストール。
- build-essential
- debhelper
- devscripts
- lintian
- dh-make
- cdbs
- libltdl-dev
- libudev-dev
- libusb-1.0-0-dev
- libgtkmm-2.4-dev
- libsane-dev
- libjpeg-dev
- libtiff-dev
- libbz2-dev
- libz-dev
- libboost-all-dev (必要なもののみ入れればいいのだが、面倒だったので全部まとめて入れた)
ダウンロード
ダウンロードするのは下記のファイル。
- imagescan_3.4.0.orig.tar.gz
- imagescan_3.4.0-1epson4ubuntu10.04.debian.tar.gz
前者を展開すると
utsushi-0.4.0というディレクトリができる。
しかし、ディレクトリ名がパッケージファイル名になるので、
imagescan-3.4.0に変更しておく。
また、後者はdebパッケージを作る際に必要なファイルなので、
imagescan-3.4.0の中に置いておく(
imagescan-3.4.0/debian)。
buildに向けた修正
本当はソースファイルのあるディレクトリで
debuild -uc -us -bとするだけでバイナリの作成まで出来るはず… なのだけど、そのままでは通らなかったのでいくつか修正。
debian/control
13.10には
libhal-devというパッケージが存在しない。
そのため、6行目の
Build-Depends:に記載されている
libhal-devを削除。
同様に、
halというパッケージも存在しないので、11行目の
Depends:から
halを削除。
debian/rules
デフォルトではソースファイル内のBoostをコンパイルして利用するようだが、スレッド関連でエラーが出てコンパイルに失敗した。
そのため、Boostはソースファイル内のものではなくUbuntuで提供されているライブラリを利用する。
ライブラリを使用するために20行目あたりに下記を追記。
DEB_CONFIGURE_EXTRA_FLAGS += --with-boost-system=boost_system DEB_CONFIGURE_EXTRA_FLAGS += --with-boost-filesystem=boost_filesystem DEB_CONFIGURE_EXTRA_FLAGS += --with-boost-iostreams=boost_iostreams DEB_CONFIGURE_EXTRA_FLAGS += --with-boost-program-options=boost_program_options DEB_CONFIGURE_EXTRA_FLAGS += --with-boost-regex=boost_regex DEB_CONFIGURE_EXTRA_FLAGS += --with-boost-thread=boost_thread DEB_CONFIGURE_EXTRA_FLAGS += --with-boost-unit-test-framework=boost_unit_test_framework
configureスクリプト
rulesにオプションを適切に指定していても、なぜか下記のエラーが出る。configure: error: Could not link against boost_unit_test_framework !いろいろ試行錯誤はしてみたものの解決できなかった。
ライブラリそのものはあるので問題ないはず、ということで(本当はよくないのだろうけど)このエラーを出力している19,966行目あたりを修正して、強制的に通してしまう。
変更前:
if test "x$link_unit_test_framework" != "xyes"; then
as_fn_error "Could not link against $ax_lib !" "$LINENO" 5
fi
変更後:
if test "x$link_unit_test_framework" != "xyes"; then
#as_fn_error "Could not link against $ax_lib !" "$LINENO" 5
BOOST_UNIT_TEST_FRAMEWORK_LIB="-lboost_unit_test_framework"
fi
debパッケージ作成&インストール
debuild -uc -us -bを実行すると、一つ上のディレクトリに
imagescan_3.4.0-1epson4ubuntu10.04_xxx.debが作成される。
これを実行し、Ubuntuソフトウェアセンターからインストールを実行。
これにより、
/usr/bin/imagescan(および関連するファイル)がインストールされる。
使えるかどうか確認
DS-510を電源ON&USBで接続し、認識するか確認。
確認その1:imagescan
$ imagescan list
usb:esci:/sys/devices/pci0000:00/0000:00:1d.7/usb1/1-4/1-4:1.0
確認その2:SANE
$ sane-find-scanner
...
found USB scanner (vendor=0x04b8 [EPSON], product=0x014c [EPSON DS-510]) at libusb:001:005
...
$ scanimage -L
device `imagescan:usb:esci:/sys/devices/pci0000:00/0000:00:1d.7/usb1/1-4/1-4:1.0' is a EPSON EPSON_DS-510
スキャン
xsaneや
simple-scanといったSANEフロントエンドを使ってスキャン。