How to install the AcuLaser C900 driver in Ubuntu 12.04, 12.10 and 14.04?

This howto follows along these original instructions (German). But it adds some fixes to get around incompatibilities introduced by changes in Ubuntu 12.04 and 12.10. Also, to get a cleaner installation it uses the Debian package builder functions of both the alc900-cups and the pipsplus-rpms packages.

These instructions were tested on Ubuntu 12.04 amd64, Ubuntu 12.10 i386, and Ubuntu 14.04 i386. Taken all together, here they are:

  1. Download and install libstdc++2.10-glibc2.2_2.95.4-24_i386.deb from here or here or here. Note how I used the i386 version because the Pipsplus software that comes with the driver only has i386 sources, but works also on 64 bit systems if they have the 32 bit compatibility libraries installed [source]. I don't know if using the 32 bit version is actually needed, or if you can also use the 64 bit version. To install, call: sudo dpkg -i libstdc++2.10-glibc2.2_2.95.4-24_i386.deb.
  2. Install gtk 1.2. This is old unmaintained software last available in Ubuntu Hardy, but is required by the alc-900 package building script later. The adamkoczur/gtk1.2 PPA mentioned in the original instructions is no longer available, so we install the packages (i386 versions) directly:
    1. Download libglib1.2ldbl (linked from here) and install it:
      wget http://launchpadlibrarian.net/10754135/libglib1.2ldbl_1.2.10-19build1_i386.deb
      sudo dpkg -i libglib1.2ldbl_1.2.10-19build1_i386.deb
    2. Download libgtk1.2-common (linked from here) and install it:
      wget http://launchpadlibrarian.net/11167863/libgtk1.2-common_1.2.10-18.1build2_all.deb
      sudo dpkg -i libgtk1.2-common_1.2.10-18.1build2_all.deb
    3. Download libgtk1.2 (linked from here) and install it:
      wget http://launchpadlibrarian.net/11167864/libgtk1.2_1.2.10-18.1build2_i386.deb
      sudo dpkg -i libgtk1.2_1.2.10-18.1build2_i386.deb
  3. Install some packages with your package manager. They are needed for the package building scripts of the als900-cups and pipsplus softwares lateron (they will fail if these packages are missing). For Ubuntu 12.04 and 12.10:
    sudo apt-get install rpm lintian psutils a2ps zenity fakeroot gcc
    For Ubuntu 14.04: It comes with the alternative foomatic-db-compressed-ppds, which is however not correctly detected by the alc900 install script. So we replaced it above with the uncompressed variant, as follows:
    sudo apt-get install rpm lintian psutils a2ps zenity fakeroot gcc foomatic-db foomatic-filters
  4. Build the alc900 .deb packages.
    1. Unpack the alc900-cups-1.0.i386.tar.gz file:
      tar -xzf alc900-cups-1.0.i386.tar.gz
    2. Enter the new direcory and call:
      sudo ./install.sh -b
    3. If it does not find your installed libstdc++2.10, add the -e option to exclude that dependency (I had to do so on Ubuntu 12.04, but not on 12.10). See ./install.sh --help. We installed the library above, so it is there and will be found at runtime anyway.
    4. This step failed on Ubuntu 14.04 so far since the compilation could not find any Linux kernel headers even thoughthey were installed. I was able to install the packaged I had built on Ubuntu 12.10 though (needed removing package foomatic-filters again, and installing cups and cups-filters again though).
  5. Build the pipsplus .deb packages:
    1. Unpack the pipsplus-1.1-b-rpms.tar.gz file, enter the new directory.
    2. Edit the file repack-rpms.sh and edit it. It seems that the dpkg -S output format changed since the script was made and includes now the package architecture in addition to the package name. To be able to process that input, we need to make a change (else the script will fails if a library is only provided by packages that output their architecture like that). Locate the line
      dpkg -S "*/${requireditem}" 2>/dev/null | grep ":[\t ].*/${requireditem}$" | grep -v ".* .*:" | sed "s/:/ /g" > "${tmplog}"
      and make it instead
      dpkg -S "*/${requireditem}" 2>/dev/null | grep ":[\t ].*/${requireditem}$" | grep -v ".* .*:" | sed "s/:i386//" | sed "s/:/ /g" > "${tmplog}"
    3. Call: ./repack-rpms.sh
    4. As above, if it does not find your installed libstdc++2.10, add the -e option.
  6. The install.sh and repack-rpms.sh scripts generated Debian packages (residing in /tmp/) which you can now install. The names may contain i386 instead if you're on that infrastructure. Install in this order to avoid dependency problems:
    1. sudo dpkg -i pipsplus_1.1-1_amd64.deb
    2. sudo dpkg -i pipsplus-epson-laser_1.1-1_amd64.deb
    3. sudo dpkg -i pipsplus-epson-alc900_1.1-1_amd64.deb
    4. sudo dpkg -i pipsplus-gtk_1.1-1_amd64.deb
    5. sudo dpkg -i alc900-cups_1.0-1_amd64.deb
    6. sudo dpkg -i alc900-cups-gtk_1.0-1_amd64.deb
  7. You can now add the printer in the standard Ubuntu printer dialog – the Epson AcuLaser C900 driver will now appear in the list.
    • If you use a window manager different than the Ubuntu standard one (Unity), the right printer dialog may not be available in the menu. In that case, you can bring it up by executing system-config-printer.
    • As per the file INSTALL from the alc900-cups software, be sure to use the alc900://... format for the CUPS URIs. However, contrary to that documentation, if your printer is behind a print server, you may have to use a format like socket://192.168.178.5:9100. We had to use something like that in our case, where the printer was not a network printer by itself but was behind a Fritz!Box 7141 router that functioned as a network print server here. This probably also means that the status and diagnostic functions of the printer are not available, as they would be with this driver when connecting the printer directly.
    • Before you can print a test page or first page successfully, make sure you set the default paper size in the driver settings correctly (like A4 instead of US Letter). Else, the printer will show the red error LED and will not print.

Posted

in

,

by

Tags:

Comments

One response to “How to install the AcuLaser C900 driver in Ubuntu 12.04, 12.10 and 14.04?”

  1. Hugh

    This is a great resource and I managed to get the printer working on 12.04. It comes up with an error message every time I first use it but, if I wait until the first run has actually printed and then “report the problem”, there is no problem for future print runs.

    I am now trying to install on 14.04 on a different computer and am a bit stuck at your paragraph 4-4. Could you elaborate on this? Does this mean that I won’t be able to get the printer to work as I haven’t installed 12.04 or 12.10 on this computer?

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.