Ubuntu – Ubuntu 14.04 cannot print through Canon MF8200 series printer

14.04canonprintingubuntu-drivers

I have recently upgraded to 14.04(64bit).
My printer used to work on my Ubuntu 12.04 (32bit), but now cannot print.
The printer have all the packages successfully installed, and printer can be succefully setup, but it does not print the test page.

There is a pending post without solution in this forum:
Ubuntu 14.04 cannot get printing to either Canon LBP3300 or Canon MG5460
not sure it is the same question,

Please help me out.


I have installed :
(for 64 bit) To install the libtiff4 library on 64 bit Ubuntu 14.04 and Linux Mint 17 systems:

$ wget ftp.us.debian.org/debian/pool/main/t/tiff3/libtiff4_3.9.7-3_amd64.deb
$ sudo dpkg -i libtiff4_3.9.7-3_amd64.deb

as introduced in: Trusty 14.04 canon gruz PPA.

I have followed the steps to download Canon linux 2.8.0 driver and followed these steps:


Installing the Printer Driver
0J73-005
The printer driver must be installed in order to print from Canon printers using Linux.
The installed files differ depending on the system environment you are using.
The following files are installed in 32-bit systems:

"cndrvcups-common-x.xx-x.i386.rpm" : common module for CUPS drivers
"cndrvcups-ufr2-us-x.xx-x.i386.rpm" : UFR II printer driver module

The following files are installed in 64-bit systems:

"cndrvcups-common-x.xx-x.x86_64.rpm" : common module for CUPS drivers
"cndrvcups-ufr2-us-x.xx-x.x86_64.rpm" : UFR II printer driver module

The following files are installed in 32-bit Debian systems:

"cndrvcups-common_x.xx-x_i386.deb" : common module for CUPS drivers
"cndrvcups-ufr2-us_x.xx-x_i386.deb" : UFR II printer driver module

The following files are installed in 64-bit Debian systems:

"cndrvcups-common_x.xx-x_amd64.deb" : common module for CUPS drivers
"cndrvcups-ufr2-us_x.xx-x_amd64.deb" : UFR II printer driver module

Then

  1. Start Linux, and log in as 'root'.

    $ su
    
  2. Install the common module for CUPS drivers.

    • For rpm packages: Enter the following command:

      rpm -ivh [file name of common module for CUPS drivers]
      
    • For deb packages: Enter the following command:

      dpkg -i [file name of common module for CUPS drivers]
      

    NOTE:
    When you execute the rpm command from a directory, specify the path or use the cd command to change the current directory to the directory containing the printer driver files.
    For details about the rpm command, enter "man rpm" with the terminal software, such as GNOME Terminal.

  3. Install the UFR II printer driver module.

    • For rpm packages: Enter the following command:

      rpm -ivh [file name of the UFR II printer driver module]
      
    • For deb packages: Enter the following command:

      dpkg -i [file name of the UFR II printer driver module]
      
  4. Restart CUPS.

    • For rpm packages: Enter the following command:

      /etc/init.d/cups restart
      
    • For deb packages: Enter the following command:

      /etc/init.d/cupsys restart
      

    NOTE:
    Do not register the printer using the "lpadmin" command before restarting CUPS.
    Depending on the operating system you are using, you may need to use the above rpm package command to restart CUPS, even if the system you are using normally requires deb package commands.
    The above command may be invalid in some operating systems. If so, use the following command.

    service cups restart
    
  5. Register the printer (PPD) with the print spooler.

Best Answer

I have solved the problem. The problem is indeed caused by missing 32 bit libs. Parts of the 64 bit driver are provided as 32 bit libs which have unresolved dependencies on a (K)ubuntu 64 installation. You have to find out which 32 bit libs are missing on your system. On my system it was only libstdc++.s0.6. Depending on your setup there my be more libs missing. To find out, unpack the sources (two tgz-files in the Sources subfolder) and do a

find . -name \*.so\* -exec ldd {} \;|grep not 

from the directory where you unpacked the sources. This should list all unresolved dependencies. You have to install these libs and then the driver should work.

For me a

apt-get install lib32stdc++6 

was all I had to do.

Related Question