canon / mf8350 / driver hell
Building Canon MF8350Cdn (and other) CUPS drivers for Linux Debian and/or Ubuntu on amd64 is still a pain in the behind.
Problems encountered during the installation, include:
- Regular make installed stuff in different places but forgot many
parts.
Solution: usedpkg-buildpackage
- The
libtool
copied wasn’t able to build for shared libs.
Solution: remove--enable-shared/--disable-shared
command line options. amd64
had to be added to the architecture targets.- A shell script had to lose a bashism.
The right steps
- Download and extract:
Linux_UFRII_PrinterDriver_V250_us_EN.tar.gz
(download) - Change dir into:
Linux_UFRII_PrinterDriver_V250_us_EN/Sources
- Extract the two tar balls found there:
cndrvcups-common-2.50-1.tar.gz
cndrvcups-lb-2.50-1.tar.gz
- Patch both with this patch:
canon_mf8350-wjd.patch (view) - Go into both directories and run:
dpkg-buildpackage
(* See Update below!) - There should now be 4 deb packages in the
Sources
dir:
cndrvcups-common_2.50-1_amd64.deb
(download)
cndrvcups-lipslx_2.50-1_amd64.deb
(download)
cndrvcups-ufr2-uk_2.50-1_amd64.deb
(download)
cndrvcups-ufr2-us_2.50-1_amd64.deb
(download) - Install all, except one of the UK or US versions.
- Manually run
ldconfig
Finally, when installing the printer, you’ll have to decide which driver you want. I chose the “Canon MF8300C Series UFRII LT ver.2.5 (color, 2-sided printing)” driver because it is the closest match to our “MF8350Cdn”.
This took way too much time — like some things do. Useful debug
information was obtained using the LogLevel debug
option in
/etc/cups/cupsd.conf
.
Observe that these packages require the ia32-libs
(* See Update
below!) to be installed.
The reason for that is that not everything in Sources
is in source
form :-(
Update 2013-03-31
Glen Whitney of the National Museum of Mathematics points out that he had to “install the cndrvcups-common produced by [this] procedure before [he] could compile the cndrvcups-lb stuff.” Thanks for the feedback!
Update 2013-08-19
Installing all of the ia32-libs
can be a bit much. In fact, you only
need these: libc6:i386
libp11-kit0
libxml2:i386
zlib1g:i386
Update 2013-09-18
Is buftool.h
missing? Look more closely at Update 2013-03-31.