Some python packages could not be installed during hplip-3.20.5 installing on Ubuntu 20.04

After upgrade from 19.10 to 20.04 I've autoremoved a lot of deprecated packages. During hplip upgrade I've confirmed using maintainer's version of configuration files. But after Ubuntu restarting, hp 1020 printer stopped printing. Hplip toolbox hanged each time I was refreshing its window. So I've purged and uninstalled hplip completely.

Installing using this guide installs hplip 3.20.3 version which have been installed earlier.

So I've downloaded 3.20.5 version from here for Ubuntu, chmoded it with x permission and run it: ./hplip-3.20.5.run.

It asked if I want to install missing dependencies:

Package-Name         Component            Required/Optional   
pyqt5-dbus           gui_qt5              OPTIONAL            
reportlab            fax                  OPTIONAL            
pyqt5                gui_qt5              REQUIRED            
python-notify        gui_qt5              OPTIONAL

I said y, but, for python-pyqt5 package I've got:

error: Command failed. Re-try #3...
Running 'sudo apt-get install --assume-yes python-pyqt5'
Please wait, this may take several minutes...
error: Package install command failed with error code 100

For python-dbus.mainloop.pyqt5 package:

error: Command failed. Re-try #3...
Running 'sudo apt-get install --assume-yes python-dbus.mainloop.pyqt5'
Please wait, this may take several minutes...
error: Package install command failed with error code 100

For python-notify package:

error: Command failed. Re-try #3...
Running 'sudo apt-get install --assume-yes python-notify'
Please wait, this may take several minutes...
error: Package install command failed with error code 100

For python-reportlab:

error: Command failed. Re-try #3...
Running 'sudo apt-get install --assume-yes python-reportlab'
Please wait, this may take several minutes...
error: Package install command failed with error code 100

I've skipped these packages installation because it was impossible to install them. At the end, I've got the next errors:

warning: Some HPLIP functionality might not function due to missing package(s).
error: A required dependency 'pyqt5 (PyQt 5- Qt interface for Python (for Qt version 4.x))' is still missing.


RUNNING POST-PACKAGE COMMANDS
-----------------------------
OK


RE-CHECKING DEPENDENCIES
------------------------
error: A required dependency 'pyqt5 (PyQt 5- Qt interface for Python (for Qt version 4.x))' is still missing.
error: Installation cannot continue without this dependency.
error: Please manually install this dependency and re-run this installer.

I've also downloaded hplip-3.20.5-plugin.run from here

$ bash hplip-3.20.5-plugin.run
Verifying archive integrity... All good.
Uncompressing HPLIP 3.20.5 Plugin Self Extracting Archive..............................................................
Error setting home directory: /etc/hp/hplip.conf not found. Is HPLIP installed?

Universe/Multiverse repositories are enabled, but:

$ apt-cache search python-pyqt5
python-pyqt5.qwt-doc - Python Qwt6 technical widget library, documentation and examples
$ apt-cache search python-reportlab
python-reportlab-doc - Documentation for the ReportLab Python library (PDF format)
$ apt-cache search python-dbus.mainloop.pyqt5
$ apt-cache search python-notify
python3-notify2 - desktop notifications API for Python 3

Packages python3-pyqt5, python3-reportlab, python3-notify2, python3-dbus.mainloop.pyqt5 are installed and are already the newest versions.

I could also see, for example, python-pyqt5 package is available in 19.10 repository, but this package requires qtbase-abi-5-12-4 package which does not exist there in eoan's repository. 18.04's python-pyqt5 package requires different qtbase-abi package, which is not present in bionic's repository.

Does it mean, phlip-3.20.5 is not compatible with 20.04 or maybe there some additional repository exists which contains these four packages and theirs dependencies?

Update:

  • Installed hplip, hplip-data, hplip-gui packages.

  • Launched hplip-gui from launcher

  • Received the log in journalctl -f:

      Jun 07 23:14:13 ubuntu hplip.desktop[17823]: error: Unable to locate models.dat file
      Jun 07 23:14:13 ubuntu /hp-toolbox[17823]: [17823]: error: Unable to locate models.dat file
      Jun 07 23:14:13 ubuntu hplip.desktop[17823]: HP Linux Imaging and Printing System (ver. 0.0.0)
      Jun 07 23:14:13 ubuntu hplip.desktop[17823]: HP Device Manager ver. 15.0
      Jun 07 23:14:13 ubuntu hplip.desktop[17823]: Copyright (c) 2001-18 HP Development Company, LP
      Jun 07 23:14:13 ubuntu hplip.desktop[17823]: This software comes with ABSOLUTELY NO WARRANTY.
      Jun 07 23:14:13 ubuntu hplip.desktop[17823]: This is free software, and you are welcome to distribute it
      Jun 07 23:14:13 ubuntu hplip.desktop[17823]: under certain conditions. See COPYING file for more details.
      Jun 07 23:14:13 ubuntu hplip.desktop[17823]: Traceback (most recent call last):
      Jun 07 23:14:13 ubuntu hplip.desktop[17823]:   File "/usr/bin/hp-toolbox", line 269, in <module>
      Jun 07 23:14:13 ubuntu hplip.desktop[17823]:     QApplication, ui_package = utils.import_dialog(ui_toolkit)
      Jun 07 23:14:13 ubuntu hplip.desktop[17823]: TypeError: cannot unpack non-iterable NoneType object
    

hplip-gui have not been started: nothing appeared on the desktop.

Newer hplip-3.20.6 also does not support Ubuntu 20.04.


In fact there is some troubles using hplip-3.20.6 on Ubuntu 20.04. The installation complains about pyqt5. My workaround is to install hplib-3.20.6 with the custom option (instead of automatic). You can install hplib without qt support (without: Graphical User Interfaces (Qt5)). In a terminal please run:

./hplip-3.20.6.run

Now you can select the custom installation and disable qt5:

Do you wish to enable 'Graphical User Interfaces (Qt5)' (y=yes*, n=no, q=quit) ? n

You get:

INSTALLATION MODE
-----------------
Automatic mode will install the full HPLIP solution with the most common options.
Custom mode allows you to choose installation options to fit specific requirements.

Please choose the installation mode (a=automatic*, c=custom, q=quit) : c


INTRODUCTION
------------
This installer will install HPLIP version 3.20.6 on your computer.
Please close any running package management systems now (YaST, Adept, Synaptic, Up2date, etc).


DISTRO/OS CONFIRMATION
----------------------
Distro appears to be Ubuntu 20.04.

Is "Ubuntu 20.04" your correct distro/OS and version (y=yes*, n=no, q=quit) ? y


DRIVER OPTIONS
--------------
Would you like to install Custom Discrete Drivers or Class Drivers ( 'd'= Discrete Drivers*,'c'= Class Drivers,'q'= Quit)?   : d

Initializing. Please wait...


SELECT HPLIP OPTIONS
--------------------
You can select which HPLIP options to enable. Some options require extra dependencies.

Do you wish to enable 'Network/JetDirect I/O' (y=yes*, n=no, q=quit) ? y
Do you wish to enable 'Graphical User Interfaces (Qt5)' (y=yes*, n=no, q=quit) ? n
Do you wish to enable 'PC Send Fax support' (y=yes*, n=no, q=quit) ? y
Do you wish to enable 'Scanning support' (y=yes*, n=no, q=quit) ? y
Do you wish to enable 'HPLIP documentation (HTML)' (y=yes*, n=no, q=quit) ? y

I hope this comment will be usefull, Regards.


There is a solution, it took a while. I have just compiled hplip 3.20.9 with Qt5. And used below discussion hint to solve python-PyQt5 missing dependency: https://answers.launchpad.net/hplip/+question/691141 Seems now printers start working with Ubuntu 20.04.

    HP Linux Imaging and Printing System (ver. 3.20.9)
    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

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

 Kernel: 5.4.0-48-generic #52-Ubuntu SMP Thu Sep 10 10:58:49 UTC 2020 GNU/Linux
 Host: Kodibuntu
 Proc: 5.4.0-48-generic #52-Ubuntu SMP Thu Sep 10 10:58:49 UTC 2020 GNU/Linux
 Distribution: 12 20.04
 Bitness: 64 bit


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

HPLIP-Version: HPLIP 3.20.9
HPLIP-Home: /usr/share/hplip
HPLIP-Installation: Auto installation is supported for ubuntu distro  20.04 version 

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

[hplip]
version=3.20.9

[dirs]
home=/usr/share/hplip
run=/var/run
ppd=/usr/share/ppd/HP
ppdbase=/usr/share/ppd
doc=/usr/share/doc/hplip-3.20.9
html=/usr/share/doc/hplip-3.20.9
icon=/usr/share/applications
cupsbackend=/usr/lib/cups/backend
cupsfilter=/usr/lib/cups/filter
drv=/usr/share/cups/drv/hp
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=no
foomatic-drv-install=no
foomatic-ppd-install=no
foomatic-rip-hplip-install=no
hpcups-install=yes
cups-drv-install=yes
cups-ppd-install=no
internal-tag=3.20.9
restricted-build=no
ui-toolkit=qt5
qt3=no
qt4=no
qt5=yes
policy-kit=no
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:
[upgrade]
notify_upgrade = false
last_upgraded_time = 1518909741
pending_upgrade_time = 0
latest_available_version = 3.17.10

[settings]
systray_visible = 0
systray_messages = 0

[last_used]
device_uri = hp:/usb/Photosmart_7400_series?serial=CN53C2Z1HKUJ
printer_name = Photosmart_7400
working_dir = .

[commands]
scan = /usr/bin/xsane -V %SANE_URI%

[refresh]
rate = 30
enable = false
type = 1

[polling]
enable = false
interval = 5
device_list = 

[fax]
voice_phone = 
email_address = 

[installation]
date_time = 10/06/20 02:33:45
version = 3.20.9


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

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

 cups                 CUPS - Common Unix Printing System                           REQUIRED        1.1             2.3.1           OK         'CUPS Scheduler is running'
 gs                   GhostScript - PostScript and PDF language interpreter and previewer REQUIRED        7.05            9.50            OK         -
 xsane                xsane - Graphical scanner frontend for SANE                  OPTIONAL        0.9             0.999           OK         -
 scanimage            scanimage - Shell scanning program                           OPTIONAL        1.0             1.0.29          OK         -
 dbus                 DBus - Message bus system                                    REQUIRED        -               1.12.16         OK         -
 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 |
------------------------

 libjpeg              libjpeg - JPEG library                                       REQUIRED        -               -               OK         -
 cups-devel           CUPS devel- Common Unix Printing System development files    REQUIRED        -               2.3.1           OK         -
 cups-image           CUPS image - CUPS image development files                    REQUIRED        -               2.3.1           OK         -
 libpthread           libpthread - POSIX threads library                           REQUIRED        -               b'2.31'         OK         -
 libusb               libusb - USB library                                         REQUIRED        -               1.0             OK         -
 sane                 SANE - Scanning library                                      REQUIRED        -               -               OK         -
 sane-devel           SANE - Scanning library development files                    REQUIRED        -               -               OK         -
 libavahi-dev         libavahi-dev                                                 REQUIRED        -               -               OK         -
 libnetsnmp-devel     libnetsnmp-devel - SNMP networking library development files REQUIRED        5.0.9           5.8             OK         -
 libcrypto            libcrypto - OpenSSL cryptographic library                    REQUIRED        -               1.1.1           OK         -
 python3X             Python 2.2 or greater - Python programming language          REQUIRED        2.2             3.8.2           OK         -
 python3-notify2      Python libnotify - Python bindings for the libnotify Desktop notifications OPTIONAL        -               -               OK         -
 python3-pyqt5-dbus   PyQt 5 DBus - DBus Support for PyQt5                         OPTIONAL        5.0             5.14.1          OK         -
 python3-pyqt5        PyQt 5- Qt interface for Python (for Qt version 4.x)         REQUIRED        5.0             5.14.1          OK         -
 python3-dbus         Python DBus - Python bindings for DBus                       REQUIRED        0.80.0          1.2.16          OK         -
 python3-xml          Python XML libraries                                         REQUIRED        -               2.2.9           OK         -
 python3-devel        Python devel - Python development files                      REQUIRED        2.2             3.8.2           OK         -
 python3-pil          PIL - Python Imaging Library (required for commandline scanning with hp-scan) OPTIONAL        -               7.0.0           OK         -
 python3-reportlab    Reportlab - PDF library for Python                           OPTIONAL        2.0             3.5.34          OK         -

--------------
| COMPILEDEP |
--------------

 libtool              libtool - Library building support services                  REQUIRED        -               2.4.6           OK         -
 gcc                  gcc - GNU Project C and C++ Compiler                         REQUIRED        -               9.3.0           OK         -
 make                 make - GNU make utility to maintain groups of programs       REQUIRED        3.0             4.2.1           OK         -

---------------------
| Python Extentions |
---------------------

 cupsext              CUPS-Extension                                               REQUIRED        -               3.20.9          OK         -
 hpmudext             IO-Extension                                                 REQUIRED        -               3.20.9          OK         -

----------------------
| Scan Configuration |
----------------------

 hpaio                HPLIP-SANE-Backend                                           REQUIRED        -               3.20.9          OK         'hpaio found in /etc/sane.d/dll.conf'
 scanext              Scan-SANE-Extension                                          REQUIRED        -               3.20.9          OK         -