Canon iP2700をLinux(CentOS 7 64bit)で使うのは [電子工作・プログラミング]

(8/12追記)
下手なことをせず、USBをつなぐだけの自動認識でできました。調べると、system-config-printerがGutenprintドライバというのを探して入れてくれるようです。最初、純正のドライバを予め用意してからつなごうと考えていたら、ドツボにはまり、結局できなかったという話が↓に書いてあります。いやもう、本当に徒労だったと言う他ありません。

----------(以下、古い内容です)---------------------------------------------------------
できないので、仮想マシンとかを使いましょう、という話。

数年前から我が家にあるCanonのインクジェットプリンターiP2700を、ふとメインマシンのCentOS 7 64bit版から使いたいと思ってしまったのが運の尽き。ずいぶん前に購入してすぐ、当時のfedoraから印刷できたので、難無くできるだろうと思っていたら、苦労の挙句Linuxからはできなかったので、トライしたことと愚痴でも綴ろうかと。

1. rpmのインストール
Canonのwebページから、Linux版rpm(但し32bit)が落とせます。何も考えず解凍し、install.shを叩くと、依存性のエラーがいくつも。libcほか諸々が無いと言ってくるのですが、一見はバージョン含めすでに入っているものばかり。よく考えると、32bit版が無いと言っていることに気付き、片っ端からyumで入れます。それで、最後に残ったのが「libpangox-1.0.so.0」。64bit版ならepelのpangox-compatで見つけたのですが、32bit版は見つけられず。あきらめました。

2. ソースのビルド
同じwebページから、GPLに従ってかソースコードが落とせます。解凍したディレクトリを見ると、何とREADMEもINSTALLも何も無し。Makefileはあるのでmakeしてみると、入った先のディレクトリにMakefileが無いと。実際それぞれの先のディレクトリを見てみると、INSTALLに./autogen.shしてmakeせよと指示が。いやはや。で、それぞれのディレクトリでmakeしていく訳ですが、当然の様にエラーが阻みます。今回やった事は、1. cngpijのbjcups.cのコンパイル時に685行目で「不完全型のポインタへの間接参照」が出たのでオプション「-D_IPP_PRIVATE_STRUCTURES」をつけることと、2. backendのcnij_backend_common.c に #include <cups/ppd.h> を追記する、の2つでした。

これでコンパイルはクリアしたのですが、backendnetのリンク時にlkbcnnet.soがinconpatibleである旨のエラーが出て、ビルド出来ず。で、調べてみると偉大な先人の方がいて、http://usagi.hatenablog.jp/entry/2012/03/06/030324 にて同様のことをされていました。そちらによれば、このビルド済みライブラリはx86用なので、とのこと。これで64bit環境で使うのはあきらめました。


そうなれば、無理してネイティブで動かす必要も無いわけで。かねてから使っていた、windowsの仮想環境でサクっと印刷して終了。ある意味、休日らしい大変贅沢な時間の使い方でした。無駄とも言います。

8月11日12時42分
fartrip

コメント(0)