`hp-check -r` crashes with "AttributeError: module 'PIL.Image' has no attribute 'VERSION'"

Bug #1851918 reported by Norbert
14
This bug affects 2 people
Affects Status Importance Assigned to Milestone
HPLIP
Confirmed
Undecided
Unassigned
hplip (Ubuntu)
Fix Released
High
Till Kamppeter
Focal
Fix Released
High
Till Kamppeter
pillow (Ubuntu)
Invalid
Undecided
Till Kamppeter
Focal
Invalid
Undecided
Till Kamppeter
python-imaging (Ubuntu)
Invalid
Undecided
Till Kamppeter
Focal
Invalid
Undecided
Till Kamppeter

Bug Description

Steps to reproduce:
1. Install HPLIP on Ubuntu 19.10 with `sudo apt-get install hplip*`
2. Run `hp-check -r`

Expected results:
* `hp-check -r` runs without errors

Actual results:
* `hp-check -r` shows many errors and crashes:

$ hp-check -r
Saving output in log file: /home/mate/hp-check.log

HP Linux Imaging and Printing System (ver. 3.19.6)
Dependency/Version Check Utility ver. 15.1

Copyright (c) 2001-18 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: ubuntu-19.10 version is not supported. Using ubuntu-19.04 versions dependencies to verify and install...

---------------
| SYSTEM INFO |
---------------

 Kernel: 5.3.0-18-generic #19-Ubuntu SMP Tue Oct 8 20:14:06 UTC 2019 GNU/Linux
 Host: eoan
 Proc: 5.3.0-18-generic #19-Ubuntu SMP Tue Oct 8 20:14:06 UTC 2019 GNU/Linux
 Distribution: ubuntu 19.10
 Bitness: 64 bit

-----------------------
| HPLIP CONFIGURATION |
-----------------------

HPLIP-Version: HPLIP 3.19.6
HPLIP-Home: /usr/share/hplip
warning: HPLIP-Installation: Auto installation is not supported for ubuntu distro 19.10 version

Current contents of '/etc/hp/hplip.conf' file:
# hplip.conf. Generated from hplip.conf.in by configure.

[hplip]
version=3.19.6

[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=no
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=no
foomatic-rip-hplip-install=no
hpcups-install=yes
cups-drv-install=yes
cups-ppd-install=no
internal-tag=3.19.6
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
class-driver=no

Current contents of '/var/lib/hp/hplip.state' file:
Plugins are not installed. Could not access file: No such file or directory

Current contents of '~/.hplip/hplip.conf' file:
[installation]
date_time = 11/09/19 12:58:30
version = 3.19.6

 <Package-name> <Package-Desc> <Required/Optional> <Min-Version> <Installed-Version> <Status> <Comment>

-------------------------
| External Dependencies |
-------------------------

 error: cups CUPS - Common Unix Printing System REQUIRED 1.1 - INCOMPAT 'CUPS may not be installed or not running'
 gs GhostScript - PostScript and PDF language interpreter and previewer REQUIRED 7.05 9.27 OK -
 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.27 OK -
 error: dbus DBus - Message bus system REQUIRED - 1.12.14 MISSING 'DBUS may not be installed or not running'
 policykit PolicyKit - Administrative policy framework OPTIONAL - 0.105 OK -
 network network -wget OPTIONAL - 1.20.3 OK -
 avahi-utils avahi-utils OPTIONAL - 0.7 OK -

------------------------
| General Dependencies |
------------------------

 error: libjpeg libjpeg - JPEG library REQUIRED - - MISSING 'libjpeg needs to be installed'
 error: cups-devel CUPS devel- Common Unix Printing System development files REQUIRED - - MISSING 'cups-devel needs to be installed'
 error: cups-image CUPS image - CUPS image development files REQUIRED - - MISSING 'cups-image needs to be installed'
 libpthread libpthread - POSIX threads library REQUIRED - b'2.30' OK -
 error: libusb libusb - USB library REQUIRED - 1.0 MISSING 'libusb needs to be installed'
 sane SANE - Scanning library REQUIRED - - OK -
 error: sane-devel SANE - Scanning library development files REQUIRED - - MISSING 'sane-devel 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: libcrypto libcrypto - OpenSSL cryptographic library REQUIRED - 1.1.1 MISSING 'libcrypto needs to be installed'
 python3X Python 2.2 or greater - Python programming language REQUIRED 2.2 3.7.5 OK -
 python3-notify2 Python libnotify - Python bindings for the libnotify Desktop notifications OPTIONAL - - OK -
 error: python3-pyqt4-dbus PyQt 4 DBus - DBus Support for PyQt4 OPTIONAL 4.0 - MISSING 'python3-pyqt4-dbus 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'
 python3-dbus Python DBus - Python bindings for DBus REQUIRED 0.80.0 1.2.12 OK -
 python3-xml Python XML libraries REQUIRED - 2.2.7 OK -
 error: python3-devel Python devel - Python development files REQUIRED 2.2 3.7.5 MISSING 'python3-devel needs to be installed'
Traceback (most recent call last):
  File "/usr/bin/hp-check", line 862, in <module>
    num_errors, num_warns = dep.validate(time_flag, is_quiet_mode)
  File "/usr/bin/hp-check", line 368, in validate
    self.core.dependencies[dep])
  File "/usr/bin/hp-check", line 210, in __update_deps_info
    installed_ver = self.core.version_func[deps_info[6]]()
  File "/usr/share/hplip/installer/dcheck.py", line 372, in get_pil_version
    return Image.VERSION
AttributeError: module 'PIL.Image' has no attribute 'VERSION'

ProblemType: Bug
DistroRelease: Ubuntu 19.10
Package: hplip 3.19.6+dfsg0-1ubuntu1
ProcVersionSignature: Ubuntu 5.3.0-18.19-generic 5.3.1
Uname: Linux 5.3.0-18-generic x86_64
ApportVersion: 2.20.11-0ubuntu8
Architecture: amd64
CurrentDesktop: MATE
Date: Sat Nov 9 12:51:04 2019
InstallationDate: Installed on 2019-10-19 (21 days ago)
InstallationMedia: Ubuntu-MATE 19.10 "Eoan Ermine" - Release amd64 (20191017)
Lpstat: Error: command ['lpstat', '-v'] failed with exit code 1: lpstat: No destinations added.
Lsusb:
 Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
 Bus 002 Device 002: ID 80ee:0021 VirtualBox USB Tablet
 Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
MachineType: innotek GmbH VirtualBox
Papersize: a4
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-5.3.0-18-generic root=UUID=137b8a06-6b6f-4176-9f0f-09b1e4b2c65a ro quiet splash
SourcePackage: hplip
UpgradeStatus: No upgrade log present (probably fresh install)
dmi.bios.date: 12/01/2006
dmi.bios.vendor: innotek GmbH
dmi.bios.version: VirtualBox
dmi.board.name: VirtualBox
dmi.board.vendor: Oracle Corporation
dmi.board.version: 1.2
dmi.chassis.type: 1
dmi.chassis.vendor: Oracle Corporation
dmi.modalias: dmi:bvninnotekGmbH:bvrVirtualBox:bd12/01/2006:svninnotekGmbH:pnVirtualBox:pvr1.2:rvnOracleCorporation:rnVirtualBox:rvr1.2:cvnOracleCorporation:ct1:cvr:
dmi.product.family: Virtual Machine
dmi.product.name: VirtualBox
dmi.product.version: 1.2
dmi.sys.vendor: innotek GmbH

Revision history for this message
Norbert (nrbrtx) wrote :
Revision history for this message
Norbert (nrbrtx) wrote :
Download full text (8.7 KiB)

Installing all the stuff for runtime and compile-time with

```
sudo apt-get build-dep hplip
sudo apt-get install build-essential libtool libtool-bin libcups2-dev cups-bsd cups-client avahi-utils gtk2-engines-pixbuf xsane
sudo apt-get install python3-pyqt4 python3-dbus.mainloop.qt
```

do not remove last error message about PIL:

```
$ hp-check -r
Saving output in log file: /home/mate/hp-check.log

HP Linux Imaging and Printing System (ver. 3.19.6)
Dependency/Version Check Utility ver. 15.1

Copyright (c) 2001-18 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: ubuntu-19.10 version is not supported. Using ubuntu-19.04 versions dependencies to verify and install...

---------------
| SYSTEM INFO |
---------------

 Kernel: 5.3.0-18-generic #19-Ubuntu SMP Tue Oct 8 20:14:06 UTC 2019 GNU/Linux
 Host: eoan
 Proc: 5.3.0-18-generic #19-Ubuntu SMP Tue Oct 8 20:14:06 UTC 2019 GNU/Linux
 Distribution: ubuntu 19.10
 Bitness: 64 bit

-----------------------
| HPLIP CONFIGURATION |
-----------------------

HPLIP-Version: HPLIP 3.19.6
HPL...

Read more...

Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in hplip (Ubuntu):
status: New → Confirmed
Changed in pillow (Ubuntu):
status: New → Confirmed
Changed in python-imaging (Ubuntu):
status: New → Confirmed
tags: added: regression-release rls-ee-incoming
Changed in hplip (Ubuntu):
importance: Undecided → High
assignee: nobody → Till Kamppeter (till-kamppeter)
Revision history for this message
Brian Murray (brian-murray) wrote :

This can be found in the Ubuntu Error Tracker here:

https://errors.ubuntu.com/problem/ab3b71057963fd7360d6fb04d465ea9e9d455e9f

tags: added: rls-ee-notfixing
removed: rls-ee-incoming
Changed in pillow (Ubuntu Focal):
assignee: nobody → Till Kamppeter (till-kamppeter)
Changed in python-imaging (Ubuntu Focal):
assignee: nobody → Till Kamppeter (till-kamppeter)
Revision history for this message
Till Kamppeter (till-kamppeter) wrote :

Bug got fixed in FreeBSD:

https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=238072

Problem is that the version check for Pillow uses a deprecated method which does not work any more with Pillow 6.0.0.

A patch for HPLIP is attached to the bug report.

Changed in hplip (Ubuntu Focal):
status: Confirmed → Triaged
Changed in pillow (Ubuntu Focal):
status: Confirmed → Invalid
Changed in python-imaging (Ubuntu Focal):
status: Confirmed → Invalid
Changed in hplip:
status: New → Confirmed
Revision history for this message
Till Kamppeter (till-kamppeter) wrote :

This is fixed in Debian's HPLIP package 3.19.8+dfsg0-2, so it is fixed in Focal.

Changed in hplip (Ubuntu Focal):
status: Triaged → Fix Released
Norbert (nrbrtx)
tags: removed: eoan
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.