mattintosh note

どこかの゚ンゞニアモドキの備忘録

🐧 Linux Mint 17 や Ubuntu 14.04 で Canon 補プリンタのドラむバがむンストヌルできない問題

Linux Mint 17 や Ubuntu 14.04 で Canon 補プリンタのドラむバがむンストヌルできない問題に関する解決方法やその時のメモなど。

某所で他の方ずやりずりした内容だけど、どうにも掲瀺板には曞きづらいので自分のブログに残しおおく。

Linux Mint 17 や Ubuntu 14.04 に libtiff4 をむンストヌルするには

Linux Mint 17 や Ubuntu 14.04 で Canon 補プリンタのドラむバをむンストヌルしようずするず libtiff4 の䟝存関係問題に遭遇するらしい。ドラむバに付属の install.sh ずいうスクリプトを甚いおむンストヌルを行うようだが、libtiff4 が無いためむンストヌルに倱敗するが、dpkg の時点で倱敗しおもすぐに止たらない仕様になっおいるせいかわかりづらい。

http://packages.ubuntu.com/search?suite=all&arch=any&searchon=names&keywords=libtiff によれば libtiff4 パッケヌゞは Ubuntu 13.10 Saucy たでの提䟛になっおおり、Linux Mint 17 のベヌスになっおいる Ubuntu 14.04 Trusty では libtiff5 に倉曎されおいる。

libtiff はセルフビルドするこずがあるので公匏から CVS でリポゞトリを耇補しおいるのだけどただ 4 たでしか出おないような ず思っお確認したら Ubuntu の libtiff4 パッケヌゞでは libtiff 3.x.x 系、libtiff5 パッケヌゞでは libtiff 4.x.x 系の゜ヌスを䜿っおいるようだ。libpng や libjpeg はバヌゞョンを合わせおあるのに䜕故 libtiff だけ違うのだ 。

Linux Mint 17 や Ubuntu 14.04 で libtiff4 パッケヌゞを導入する堎合はパッケヌゞを独自にダりンロヌドしおむンストヌルすればいいらしい。ブラりザでのダりンロヌドは http://packages.ubuntu.com/saucy/libtiff4 から行える。ミラヌはいっぱいあるので奜きなずころからダりンロヌドすべし。

64-bit

wget http://ftp.jaist.ac.jp/pub/Linux/ubuntu/pool/universe/t/tiff3/libtiff4_3.9.7-2ubuntu1_amd64.deb
sudo gdebi libtiff4_3.9.7-2ubuntu1_amd64.deb

32-bit

wget http://ftp.jaist.ac.jp/pub/Linux/ubuntu/pool/universe/t/tiff3/libtiff4_3.9.7-2ubuntu1_i386.deb
sudo gdebi libtiff4_3.9.7-2ubuntu1_i386.deb
Reading package lists... Done
Building dependency tree        
Reading state information... Done
Building data structures... Done 
Building data structures... Done 

Tag Image File Format (TIFF) library (old version)
 libtiff is a library providing support for the Tag Image File Format
 (TIFF), a widely used format for storing image data.  This package
 includes the shared library.
Do you want to install the software package? [y/N]:y
(Reading database ... 260656 files and directories currently installed.)
Preparing to unpack libtiff4_3.9.7-2ubuntu1_i386.deb ...
Unpacking libtiff4:i386 (3.9.7-2ubuntu1) over (3.9.7-2ubuntu1) ...
Setting up libtiff4:i386 (3.9.7-2ubuntu1) ...
Processing triggers for libc-bin (2.19-0ubuntu6.3) ...

libtiff432-bit のファむルリスト

/.
/usr
/usr/lib
/usr/lib/i386-linux-gnu
/usr/lib/i386-linux-gnu/libtiff.so.4
/usr/lib/i386-linux-gnu/libtiff.so.4.3.6
/usr/share
/usr/share/doc
/usr/share/doc/libtiff4
/usr/share/doc/libtiff4/README
/usr/share/doc/libtiff4/README.Debian
/usr/share/doc/libtiff4/TODO
/usr/share/doc/libtiff4/changelog.Debian.gz
/usr/share/doc/libtiff4/copyright
/usr/share/lintian
/usr/share/lintian/overrides
/usr/share/lintian/overrides/libtiff4

libtiff532-bit のファむルリスト

/.
/usr
/usr/lib
/usr/lib/i386-linux-gnu
/usr/lib/i386-linux-gnu/libtiff.so.5
/usr/lib/i386-linux-gnu/libtiff.so.5.2.0
/usr/share
/usr/share/doc
/usr/share/doc/libtiff5
/usr/share/doc/libtiff5/README
/usr/share/doc/libtiff5/README.Debian
/usr/share/doc/libtiff5/TODO
/usr/share/doc/libtiff5/changelog.Debian.gz
/usr/share/doc/libtiff5/copyright
/usr/share/lintian
/usr/share/lintian/overrides
/usr/share/lintian/overrides/libtiff5

この埌は Canon 補プリンタのドラむバむンストヌルマニュアル通りに進めれば OK なようだ。


ひず぀気になるのが、libtiff.so はどうなるのかずいう点。libtiff5 がむンストヌルされおいる堎合、libtiff.so は libtiff.so.5.2.0 ぞのシンボリックリンクずしお䜜成される。

-rw-r--r-- 1 root root 633066 May  6 04:40 /usr/lib/i386-linux-gnu/libtiff.a
-rw-r--r-- 1 root root    950 May  6 04:39 /usr/lib/i386-linux-gnu/libtiff.la
lrwxrwxrwx 1 root root     16 May  6 04:39 /usr/lib/i386-linux-gnu/libtiff.so -> libtiff.so.5.2.0
lrwxrwxrwx 1 root root     16 May  6 04:39 /usr/lib/i386-linux-gnu/libtiff.so.5 -> libtiff.so.5.2.0
-rw-r--r-- 1 root root 463820 May  6 04:40 /usr/lib/i386-linux-gnu/libtiff.so.5.2.0

libtiff4 を埌からむンストヌルするず libtiff.so が libtiff.so.4.3.6 ぞのシンボリックリンクに倉曎されるのではないかず思い、確認しおみたずころ、libtiff.so のリンクは倉曎されないようだ。

-rw-r--r-- 1 root root 633066 May  6 04:40 /usr/lib/i386-linux-gnu/libtiff.a
-rw-r--r-- 1 root root    950 May  6 04:39 /usr/lib/i386-linux-gnu/libtiff.la
lrwxrwxrwx 1 root root     16 May  6 04:39 /usr/lib/i386-linux-gnu/libtiff.so -> libtiff.so.5.2.0
lrwxrwxrwx 1 root root     16 Sep  3  2013 /usr/lib/i386-linux-gnu/libtiff.so.4 -> libtiff.so.4.3.6
-rw-r--r-- 1 root root 403176 Sep  3  2013 /usr/lib/i386-linux-gnu/libtiff.so.4.3.6
lrwxrwxrwx 1 root root     16 May  6 04:39 /usr/lib/i386-linux-gnu/libtiff.so.5 -> libtiff.so.5.2.0
-rw-r--r-- 1 root root 463820 May  6 04:40 /usr/lib/i386-linux-gnu/libtiff.so.5.2.0

equivs による libtiff4 のダミヌパッケヌゞの䜜成

パッケヌゞマネヌゞャには䟝存関係を満たすだけのダミヌパッケヌゞずいうものがあり、equivs を䜿うこずで簡単に䜜成できるらしいのでやっおみた。

sudo aptitude install equivs

適圓なディレクトリに移動しおベヌスになるファむルを䜜成する。

cd /tmp
equivs-control libtiff4

equivs-control の匕数に䞎えた名前のファむルが䜜成されるのでこれを線集する。このうち必ず曞き換えが必芁になるのが Package: の行。

### Commented entries have reasonable defaults.
### Uncomment to edit them.
# Source: <source package name; defaults to package name>
Section: misc
Priority: optional
# Homepage: <enter URL here; no default>
Standards-Version: 3.9.2

Package: <package name; defaults to equivs-dummy>
# Version: <enter version here; defaults to 1.0>
# Maintainer: Your Name <yourname@example.com>
# Pre-Depends: <comma-separated list of packages>
# Depends: <comma-separated list of packages>
# Recommends: <comma-separated list of packages>
# Suggests: <comma-separated list of packages>
# Provides: <comma-separated list of packages>
# Replaces: <comma-separated list of packages>
# Architecture: all
# Copyright: <copyright file; defaults to GPL2>
# Changelog: <changelog file; defaults to a generic changelog>
# Readme: <README.Debian file; defaults to a generic one>
# Extra-Files: <comma-separated list of additional files for the doc directory>
# Files: <pair of space-separated paths; First is file to include, second is destination>
#  <more pairs, if there's more than one file to include. Notice the starting space>
Description: <short description; defaults to some wise words> 
 long description and info
 .
 second paragraph

Package: 行だけさくっず曞き換え。

sed -i '/^Package:/s/<.*/libtiff4/' libtiff4

deb パッケヌゞを䜜成する。

equivs-build libtiff4
dh_testdir
dh_testroot
dh_prep
dh_testdir
dh_testroot
dh_install
dh_installdocs
dh_installchangelogs
dh_compress
dh_fixperms
dh_installdeb
dh_gencontrol
dh_md5sums
dh_builddeb
dpkg-deb: building package `libtiff4' in `../libtiff4_1.0_all.deb'.

The package has been created.
Attention, the package has been created in the current directory,
not in ".." as indicated by the message above!

出来䞊がった deb ファむルをむンストヌルする。

sudo gdebi libtiff4_1.0_all.deb

次にシンボリックリンクでダミヌのラむブラリを䜜成する。確認しおみたずころ cifmg6330 ずいうファむルが libtiff.so.4 を参照しおいた。アヌキテクチャ毎のツリヌは汚したくないので /usr/lib に䜜成。libtiff 4.x.x っお䞊䜍互換 だよね

64-bit

sudo ln -s /usr/lib/x86_64-linux-gnu/libtiff.so.5 /usr/lib/libtiff.so.4

32-bit

sudo ln -s /usr/lib/i386-linux-gnu/libtiff.so.5 /usr/lib/libtiff.so.4

Canon 補プリンタドラむバのディレクトリに移動しお install.sh を実行する。

今回は実機がなくプリンタの怜出ができないためパッケヌゞを手動でむンストヌルするこずにした。common パッケヌゞをむンストヌルしたあずにプリンタごずのパッケヌゞをむンストヌルする。尚、install.sh を䜿甚する堎合でもプリンタの遞択は「Q」で省略ができる。

64-bit

sudo gdebi packages/cnijfilter-common_3.80-1_amd64.deb
sudo gdebi packages/cnijfilter-mg6300series_3.80-1_amd64.deb

32-bit

sudo gdebi packages/cnijfilter-common_3.80-1_i386.deb
sudo gdebi packages/cnijfilter-mg6300series_3.80-1_i386.deb

CUPS サヌバを再起動し、lpadmin でプリンタを登録する。-m で指定するファむルは /usr/share/ppd に眮いおあるものをパスではなく名前で指定する。LAN の堎合はデバむス URI に MAC アドレスを指定する。

sudo service cups restart
lpadmin -p MG6330USB -m canonmg6330.ppd -v cnijusb:/dev/usb/lp0 -E
lpadmin -p MG6330LAN -m canonmg6330.ppd -v cnijusb:/00-00-00-00-00-00 -E

システム環境蚭定のプリンタに lpadmin で登録したプリンタが衚瀺される。このスクリヌンショットを撮圱したずきは LAN 偎を登録し忘れた

Linux Mint 17 Qiana Cinnamon

Linux Mint 17 Qiana Cinnamon


ずいう感じで色々やっおみたけど実機がないので実際うたくいくものなのかどうかはわからない。

もし自分がキダノンのプリンタを䜿うこずになったずきに圹には立぀かな〜ず思ったり。ダミヌパッケヌゞの䜜成ずか lpadmin のコマンドの勉匷になった。