Bug#879115: hplip can't print jobs with unicode surrogate characters
Package: hplip
Version: 3.16.11+repack0-3
Severity: normal
Tags: upstream
Dear Maintainer,
* What led up to the situation?
Tried to print PDF from evince
* What exactly did you do (or not do) that was effective (or
ineffective)?
Pressed the print button
* What was the outcome of this action?
The print job "stopped"
* What outcome did you expect instead?
Some printed paper.
Looking in the cups error_log I see:
D [19/Oct/2017:14:03:08 +0200] [Job 2204] File \"/usr/share/hplip/base/sixext.py\", line 109, in to_bytes_utf8
D [19/Oct/2017:14:03:08 +0200] [Job 2204] return s.encode(\"utf-8\")
D [19/Oct/2017:14:03:08 +0200] [Job 2204] UnicodeEncodeError: \'utf-8\' codec can\'t encode character \'\\udcc3\' in position 19: surrogates not allowed
This appears to be the launchpad bug:
https://bugs.launchpad.net/hplip/+bug/1498366
A simple, possibly incorrect, fix is:
--- /usr/share/hplip/base/sixext.py.orig 2017-05-04 18:35:44.000000000 +0200
+++ /usr/share/hplip/base/sixext.py 2017-10-19 17:40:51.946105373 +0200
@@ -106,7 +106,7 @@
def to_bytes_utf8(s):
- return s.encode("utf-8")
+ return s.encode("utf-8", errors="surrogateescape")
def to_string_utf8(s):
-- Package-specific info:
Saving output in log file: /home/john/hp-check.log
HP Linux Imaging and Printing System (ver. 3.16.11)
Dependency/Version Check Utility ver. 15.1
Copyright (c) 2001-15 HP Development Company, LP
This software comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to distribute it
under certain conditions. See COPYING file for more details.
Note: hp-check can be run in three modes:
1. Compile-time check mode (-c or --compile): Use this mode before compiling the HPLIP supplied tarball (.tar.gz or .run) to determine if the proper dependencies are installed
to successfully compile HPLIP.
2. Run-time check mode (-r or --run): Use this mode to determine if a distro supplied package (.deb, .rpm, etc) or an already built HPLIP supplied tarball has the proper
dependencies installed to successfully run.
3. Both compile- and run-time check mode (-b or --both) (Default): This mode will check both of the above cases (both compile- and run-time dependencies).
Check types:
a. EXTERNALDEP - External Dependencies
b. GENERALDEP - General Dependencies (required both at compile and run time)
c. COMPILEDEP - Compile time Dependencies
d. [All are run-time checks]
PYEXT SCANCONF QUEUES PERMISSION
Status Types:
OK
MISSING - Missing Dependency or Permission or Plug-in
INCOMPAT - Incompatible dependency-version or Plugin-version
warning: 2-9.1 version is not supported. Using 2-8.6 versions dependencies to verify and install...
---------------
| SYSTEM INFO |
---------------
Kernel: 4.9.0-3-amd64 #1 SMP Debian 4.9.30-2+deb9u5 (2017-09-19) GNU/Linux
Host: persic
Proc: 4.9.0-3-amd64 #1 SMP Debian 4.9.30-2+deb9u5 (2017-09-19) GNU/Linux
Distribution: 2 9.1
Bitness: 64 bit
-----------------------
| HPLIP CONFIGURATION |
-----------------------
HPLIP-Version: HPLIP 3.16.11
HPLIP-Home: /usr/share/hplip
warning: HPLIP-Installation: Auto installation is not supported for 2 distro 9.1 version
Current contents of '/etc/hp/hplip.conf' file:
# hplip.conf. Generated from hplip.conf.in by configure.
[hplip]
version=3.16.11
[dirs]
home=/usr/share/hplip
run=/var/run
ppd=/usr/share/ppd/hplip/HP
ppdbase=/usr/share/ppd/hplip
doc=/usr/share/doc/hplip
html=/usr/share/doc/hplip-doc
icon=no
cupsbackend=/usr/lib/cups/backend
cupsfilter=/usr/lib/cups/filter
drv=/usr/share/cups/drv
bin=/usr/bin
apparmor=/etc/apparmor.d
# Following values are determined at configure time and cannot be changed.
[configure]
network-build=yes
libusb01-build=no
pp-build=yes
gui-build=yes
scanner-build=yes
fax-build=yes
dbus-build=yes
cups11-build=no
doc-build=yes
shadow-build=no
hpijs-install=yes
foomatic-drv-install=yes
foomatic-ppd-install=yes
foomatic-rip-hplip-install=no
hpcups-install=yes
cups-drv-install=yes
cups-ppd-install=no
internal-tag=3.16.11
restricted-build=no
ui-toolkit=qt5
qt3=no
qt4=no
qt5=yes
policy-kit=yes
lite-build=no
udev_sysfs_rules=no
hpcups-only-build=no
hpijs-only-build=no
apparmor_build=no
Current contents of '/var/lib/hp/hplip.state' file:
[plugin]
installed = 1
eula = 1
version = 3.16.11
Current contents of '~/.hplip/hplip.conf' file:
[last_used]
device_uri = hp:/net/HP_Color_LaserJet_MFP_M476dw?ip=192.168.6.18
[installation]
version = 3.16.11
date_time = 10/19/17 17:47:40
<Package-name> <Package-Desc> <Required/Optional> <Min-Version> <Installed-Version> <Status> <Comment>
------------------------
| General Dependencies |
------------------------
libpthread libpthread - POSIX threads library REQUIRED - b'2.24' OK -
error: cups-devel CUPS devel- Common Unix Printing System development files REQUIRED - - MISSING 'cups-devel needs to be installed'
error: python3-pyqt4 PyQt 4- Qt interface for Python (for Qt version 4.x) REQUIRED 4.0 - MISSING 'python3-pyqt4 needs to be installed'
error: sane-devel SANE - Scanning library development files REQUIRED - - MISSING 'sane-devel needs to be installed'
error: python3-devel Python devel - Python development files REQUIRED 2.2 3.5.3 MISSING 'python3-devel needs to be installed'
python3-xml Python XML libraries REQUIRED - 2.2.0 OK -
python3-dbus Python DBus - Python bindings for DBus REQUIRED 0.80.0 1.2.4 OK -
cups-ddk CUPS DDK - CUPS driver development kit OPTIONAL - - OK -
sane SANE - Scanning library REQUIRED - - OK -
error: libcrypto libcrypto - OpenSSL cryptographic library REQUIRED - 1.1.0 MISSING 'libcrypto needs to be installed'
python3-pil PIL - Python Imaging Library (required for commandline scanning with hp-scan) OPTIONAL - 1.1.7 OK -
error: libjpeg libjpeg - JPEG library REQUIRED - - MISSING 'libjpeg needs to be installed'
python3-reportlab Reportlab - PDF library for Python OPTIONAL 2.0 3.3.0 OK -
error: python3-notify2 Python libnotify - Python bindings for the libnotify Desktop notifications OPTIONAL - - MISSING 'python3-notify2 needs to be installed'
python3X Python 2.2 or greater - Python programming language REQUIRED 2.2 3.5.3 OK -
error: libusb libusb - USB library REQUIRED - 1.0 MISSING 'libusb needs to be installed'
error: libnetsnmp-devel libnetsnmp-devel - SNMP networking library development files REQUIRED 5.0.9 - MISSING 'libnetsnmp-devel needs to be installed'
error: python3-pyqt4-dbus PyQt 4 DBus - DBus Support for PyQt4 OPTIONAL 4.0 - MISSING 'python3-pyqt4-dbus needs to be installed'
error: cups-image CUPS image - CUPS image development files REQUIRED - - MISSING 'cups-image needs to be installed'
-------------------------
| External Dependencies |
-------------------------
error: avahi-utils avahi-utils OPTIONAL - - MISSING 'avahi-utils needs to be installed'
network network -wget OPTIONAL - 1.18 OK -
gs GhostScript - PostScript and PDF language interpreter and previewer REQUIRED 7.05 9.20 OK -
policykit PolicyKit - Administrative policy framework OPTIONAL - 0.105 OK -
error: dbus DBus - Message bus system REQUIRED - 1.10.22 MISSING 'DBUS may not be installed or not running'
error: xsane xsane - Graphical scanner frontend for SANE OPTIONAL 0.9 - MISSING 'xsane needs to be installed'
scanimage scanimage - Shell scanning program OPTIONAL 1.0 1.0.25 OK -
error: cups CUPS - Common Unix Printing System REQUIRED 1.1 - INCOMPAT 'CUPS may not be installed or not running'
--------------
| COMPILEDEP |
--------------
gcc gcc - GNU Project C and C++ Compiler REQUIRED - 6.3.0 OK -
make make - GNU make utility to maintain groups of programs REQUIRED 3.0 4.1 OK -
error: libtool libtool - Library building support services REQUIRED - - MISSING 'libtool needs to be installed'
---------------------
| Python Extentions |
---------------------
hpmudext IO-Extension REQUIRED - 3.16.11 OK -
cupsext CUPS-Extension REQUIRED - 3.16.11 OK -
----------------------
| Scan Configuration |
----------------------
scanext Scan-SANE-Extension REQUIRED - 3.16.11 OK -
'/etc/sane.d/dll.d/hpaio' not found.
hpaio HPLIP-SANE-Backend REQUIRED - 3.16.11 OK 'hpaio found in /etc/sane.d/dll.conf'
------------------------------
| DISCOVERED SCANNER DEVICES |
------------------------------
device `hpaio:/net/HP_Color_LaserJet_MFP_M476dw?ip=canopic.CalvaEDI.COM' is a Hewlett-Packard HP_Color_LaserJet_MFP_M476dw all-in-one
device `hpaio:/net/HP_Color_LaserJet_MFP_M476dw?ip=runic.CalvaEDI.COM' is a Hewlett-Packard HP_Color_LaserJet_MFP_M476dw all-in-one
--------------------------
| DISCOVERED USB DEVICES |
--------------------------
No devices found.
---------------------------------
| INSTALLED CUPS PRINTER QUEUES |
---------------------------------
canopic
-------
Type: Unknown
Device URI: hp:/net/HP_Color_LaserJet_MFP_M476dw?ip=canopic.CalvaEDI.COM
PPD: /etc/cups/ppd/canopic.ppd
warning: Failed to read /etc/cups/ppd/canopic.ppd ppd file
PPD Description:
Printer status: printer canopic is idle. enabled since Thu Oct 19 17:41:39 2017
warning: Printer is not HPLIP installed. Printers must use the hp: or hpfax: CUPS backend for HP-Devices.
runic
-----
Type: Unknown
Device URI: hp:/net/HP_Color_LaserJet_MFP_M476dw?ip=runic.CalvaEDI.COM
PPD: /etc/cups/ppd/runic.ppd
warning: Failed to read /etc/cups/ppd/runic.ppd ppd file
PPD Description:
Printer status: printer runic is idle. enabled since Thu Oct 19 09:40:11 2017
warning: Printer is not HPLIP installed. Printers must use the hp: or hpfax: CUPS backend for HP-Devices.
teutonic
--------
Type: Unknown
Device URI: socket://192.168.6.17
PPD: /etc/cups/ppd/teutonic.ppd
warning: Failed to read /etc/cups/ppd/teutonic.ppd ppd file
PPD Description:
Printer status: printer teutonic is idle. enabled since Wed Sep 13 12:20:26 2017
warning: Printer is not HPLIP installed. Printers must use the hp: or hpfax: CUPS backend for HP-Devices.
--------------
| PERMISSION |
--------------
-----------
| SUMMARY |
-----------
Missing Required Dependencies
-----------------------------
error: 'libcups2-dev' package is missing/incompatible
error: 'cups-bsd' package is missing/incompatible
error: 'cups-client' package is missing/incompatible
error: 'python3-pyqt4' package is missing/incompatible
error: 'gtk2-engines-pixbuf' package is missing/incompatible
error: 'libsane-dev' package is missing/incompatible
error: 'python3-dev' package is missing/incompatible
error: 'libssl-dev' package is missing/incompatible
error: 'libjpeg62-turbo-dev' package is missing/incompatible
error: 'libusb-1.0.0-dev' package is missing/incompatible
error: 'libsnmp-dev' package is missing/incompatible
error: 'snmp' package is missing/incompatible
error: 'libcupsimage2' package is missing/incompatible
error: 'libcupsimage2-dev' package is missing/incompatible
error: 'libdbus-1-dev' package is missing/incompatible
error: 'cups' package is missing or 'cups' service is not running.
error: 'libcups2' package is missing/incompatible
error: 'libtool' package is missing/incompatible
error: 'libtool-bin' package is missing/incompatible
Missing Optional Dependencies
-----------------------------
error: 'python3-notify2' package is missing/incompatible
error: 'python3-dbus.mainloop.qt' package is missing/incompatible
error: 'avahi-utils' package is missing/incompatible
error: 'xsane' package is missing/incompatible
Total Errors: 16
Total Warnings: 3
Done.
-- System Information:
Debian Release: 9.1
APT prefers stable
APT policy: (500, 'stable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 4.9.0-3-amd64 (SMP w/4 CPU cores)
Locale: LANG=C.UTF-8, LC_CTYPE=C.UTF-8 (charmap=UTF-8), LANGUAGE=C.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
Versions of packages hplip depends on:
ii adduser 3.115
ii coreutils 8.26-3
ii cups 2.2.1-8
ii hplip-data 3.16.11+repack0-3
ii libc6 2.24-11+deb9u1
ii libcups2 2.2.1-8
ii libdbus-1-3 1.10.22-0+deb9u1
ii libhpmud0 3.16.11+repack0-3
ii libsane 1.0.25-4.1
ii libsane-hpaio 3.16.11+repack0-3
ii libsnmp30 5.7.3+dfsg-1.7
ii libusb-1.0-0 2:1.0.21-1
ii lsb-base 9.20161125
ii policykit-1 0.105-18
ii printer-driver-hpcups 3.16.11+repack0-3
ii python3 3.5.3-1
ii python3-dbus 1.2.4-1+b1
ii python3-gi 3.22.0-2
ii python3-pexpect 4.2.1-1
ii python3-pil 4.0.0-4
ii python3-reportlab 3.3.0-2
ii wget 1.18-5
Versions of packages hplip recommends:
ii avahi-daemon 0.6.32-2
ii printer-driver-postscript-hp 3.16.11+repack0-3
ii sane-utils 1.0.25-4.1
Versions of packages hplip suggests:
pn hplip-doc <none>
pn hplip-gui <none>
pn python3-notify2 <none>
ii system-config-printer 1.5.7-3
-- no debconf information
Reply to: