2016年2月11日木曜日

slackware14.1 + xsane でUSB接続のEPSON scanner PX-045Aから絵を取り込む

linuxスキャナーiscanの ソースコード tar.gzをepsonのdrivers download pageからgetする。
http://download.ebz.epson.net/dsc/du/02/DriverDownloadInfo.do?LG2=EN&CN2=&DSCMI=18785&DSCCHK=e43c9000ed6340abbfc733472bb1dc5cf739e13c
または http://support.epson.net/linux/en/iscan_c.html 
(epsonはwindowsとmacのみ正式サポートで、linux向けはiscan?まぁ、ないよりもマシか・・・)
- iscan-2.30.1.1.tar.gz
- iscan-data_1.36.0-1.tar.gz
ソースコードを/tmpへ解凍する。(パッケージ化するため)
cd /tmp
tar -zxvf iscan-data_1.36.0-1.tar.gz
tar -zxvf iscan-2.30.1.1.tar.gz
iscan-dataのパッケージtxzを作成する。
cd iscan-data_1.36.0-1
./configure
make
make DESTDIR=/tmp/iscan-data_1.36.0-1 install
makepkg ../iscan-data_1.36.0-1
インストールする。
installpkg iscan-data_1.36.0-1
iscan-2.30.1.1のパッケージtxzを作成する。
cd iscan-2.30.1.1
./configure
make
make DESTDIR=/tmp/iscan-2.30.1.1 install
makepkg ../iscan-2.30.1.1
インストールする。
installpkg iscan-2.30.1.1
USB接続のために、メーカIDを求める。 terminalでlsusbと叩くと ex)  ID 04b8: 0895 SEiko EPSON Corp
と出てきたのこれをepson2.confに指定する。
cd /etc/sane.d/
nano epson2.conf
で、以下のようにする。
#usb コメントアウト
usb 0468 0895を追加。
xsaneを起動する。

やっと、スキャナーを検出してくれた。おー。
iscanのmakeでは、以下のパッケージが必要だった。
netsnmp
libjpeg
libpng
sane
xsane
特にpng14に関係するエラーでは、slackbuildでpngを入れたのに、なぜ出でるのと
goggleったら、pacthのページがでてきたよ。(3ステップで簡単)
http://www.giustetti.net/wiki/index.php?title=Iscan_and_Slackware_14.0

そのメッセージは、以下。
/usr/lib/gcc/i486-slackware-linux/4.7.1/../../../../i486-slackware-linux/bin/ld: ../lib/.libs/libimage-stream.a(libimage_stream_la-pngstream.o): undefined reference to symbol 'png_set_longjmp_fn@@PNG14_0'/usr/lib/gcc/i486-slackware-linux/4.7.1/../../../../i486-slackware-linux/bin/ld: note: 'png_set_longjmp_fn@@PNG14_0' is defined in DSO /usr/lib/libpng14.so.14 so try adding it to the linker command line
その修正方法は、以下。
cd /tmp/iscan-・・・でソースコードのディレクトリへ移る。
iscan_png.patchをそこへコピーする。
patch -p01 -i iscan_png.patchでパッチをあてる。
summergirl by gimp2