Building modern Gutenprint on a Raspberry Pi

Last updated 2023-12-29

How to build modern Gutenprint on a Raspberry Pi and other Linux systems

The Gutenprint release bundled with current Raspbian releases is outdated. It lacks support for more recently-added printers, and is missing various accumulated bug fixes that may or may not matter for any given printer.

This is how one would go about updating a current Raspbian system with current Gutenprint code, the latest backend fixes, and the various libraries and data files needed to print on selected printers.

These instructions should apply to generic Debian and Ubuntu environments. Other distributions will require different steps to remove/install the necessary support packages.

# Gain root
sudo su -
### Install pre-requisites
# Remove existing gutenprint packages and ipp-usb
apt remove *gutenprint* ipp-usb
# Install necessary development libraries
apt install libusb-1.0-0-dev libcups2-dev pkg-config
# Install CUPS (just in case)
apt install cups-daemon
# Install git-lfs
apt install git-lfs
### Download and compile Gutenprint
# Download latest gutenprint snapshot from sourceforge
GUTENPRINT_VER=5.3.4-2023-12-06T01-00-2ef8ba24
curl -o gutenprint-${GUTENPRINT_VER}.tar.xz "https://master.dl.sourceforge.net/project/gimp-print/snapshots/gutenprint-${GUTENPRINT_VER}.tar.xz?viasf=1"
# Decompress & Extract
tar -xJf gutenprint-${GUTENPRINT_VER}.tar.xz
# Compile gutenprint
cd gutenprint-${GUTENPRINT_VER}
./configure --without-doc
make -j4
make install
cd ..
# Refresh PPDs
cups-genppdupdate
# Restart CUPS
service cups restart
## At this point you can stop unless you have certian Mitsubishi, Sinfonia, Fujifilm, and Hiti models)
### Download and compile latest backend code
# Get the latest selphy_print code
git clone https://git.shaftnet.org/gitea/slp/selphy_print.git
# Compile selphy_print
cd selphy_print
make -j4 
make install
# Set up library include path
echo "/usr/local/lib" > /etc/ld.so.conf.d/usr-local.conf
ldconfig
# FiN
exit

At this point you can plug in a printer and add/administer it via the CUPS user interface or distribution/desktop-specific tools.

Enjoy!

Comments