13

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.

6
  • What was wrong with hplip-gui deb-package?
    – N0rbert
    Jun 4 '20 at 8:10
  • @N0rbert it have been hanging during refresh button clicking. I'll retest it later and let you know how exactly it works.
    – Gryu
    Jun 4 '20 at 8:18
  • About checking missing dependencies you can follow my troubleshooting here. But it is not enough, so there are some problems with latest HPLIP. I do not have HP device near me, so I can't test.
    – N0rbert
    Jun 4 '20 at 8:19
  • @N0rbert Updated question.
    – Gryu
    Jun 7 '20 at 20:55
  • I also had this problem, along with many others. See my solution here: askubuntu.com/a/1300041/1157731
    – Stypox
    Dec 14 '20 at 14:16
8

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.

3
  • Ok, thank you for the option
    – Gryu
    Aug 30 '20 at 13:00
  • Clever option. Can finish hplip and plugin installation. But my scanner still don't scan. Sep 21 '20 at 8:23
  • Nice, didn't think of disabling the GUI options. Feb 19 at 10:55
4

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         -
3
  • 2
    What do you mean by this statement: "I have just compiled hplip 3.20.9 with Qt5."? I'm having the same problem (can't install hplip version 3.20.9 on Ubuntu 20.04) and haven't figured out yet how to solve this.
    – Joe
    Oct 6 '20 at 1:55
  • While the link may answer the question, it's best if you would please explain your answer here in your contribution to AskUbuntu.
    – Nmath
    Oct 10 '20 at 5:02
  • I took the advice to check & update the symlink for Python, in /usr/bin, from that linked thread (I changed it from 2 to 3.8). Afterwards hplip installed without issues. Getting the scan plug in was another issue, the HP gui didn't do much so I downloaded that from developers.hp.com/hp-linux-imaging-and-printing/plugins and ran it manually. Printing and scanning now work fine for me.
    – Jurjen
    Oct 14 '20 at 14:00
3

Try installing pyqt5 with pip:

sudo apt install python-pip
pip install pyqt5
pip install pyqt5.sip

or if your version of hplip requires python3:

sudo apt install python3-pip
pip3 install pyqt5
pip3 install pyqt5.sip
3
  • E: Unable to locate package python-pip, ERROR: Could not find a version that satisfies the requirement pyqt5 (from versions: none) ERROR: No matching distribution found for pyqt5, ERROR: No matching distribution found for pyqt5.sip
    – Gryu
    Jun 7 '20 at 20:09
  • pip3 install pyqt5 Requirement already satisfied: pyqt5 in /usr/lib/python3/dist-packages (5.14.1)
    – Gryu
    Jun 7 '20 at 20:10
  • this does not seem to solve it
    – matanster
    Aug 25 '20 at 5:08
2

To summarize a solution previously alluded to (from Bartosz), what worked for me was to basically change the python symlink in /usr/bin to point to Python 3 instead of Python 2, as described in one of the answers at https://answers.launchpad.net/hplip/+question/691141.

cd /usr/bin
sudo unlink python
sudo ln -s /usr/bin/python3 python
1

It seems Ubuntu 20.04 is not supported by hplip 3.20.5 and below hplip releases. At least, Ubuntu 20.04 has not been mentioned on hp's Developer Portal | Release Notes page. The last mentioned Ubuntu version is 19.10 at the time.

So the optimal solution in my case is to wait for newer hplip release and use 18.04 VM on VirtualBox with USB 1.1 passthrough enabled for my hp 1020 printer until newer hplip released.

enter image description here

0

I don't know how, but maybe some update for 3.20.3 has resolved the issue with printing on 20.04

$ cat /var/log/dpkg.log | grep hplip
2020-08-07 15:29:39 status installed hplip-gui:all 3.20.3+dfsg0-2
2020-08-07 15:29:39 remove hplip-gui:all 3.20.3+dfsg0-2 <none>
2020-08-07 15:29:39 status half-configured hplip-gui:all 3.20.3+dfsg0-2
2020-08-07 15:29:39 status half-installed hplip-gui:all 3.20.3+dfsg0-2
2020-08-07 15:29:39 status config-files hplip-gui:all 3.20.3+dfsg0-2
2020-08-07 15:29:39 status installed hplip:amd64 3.20.3+dfsg0-2
2020-08-07 15:29:39 remove hplip:amd64 3.20.3+dfsg0-2 <none>
2020-08-07 15:29:39 status half-configured hplip:amd64 3.20.3+dfsg0-2
2020-08-07 15:29:39 status half-installed hplip:amd64 3.20.3+dfsg0-2
2020-08-07 15:29:39 status config-files hplip:amd64 3.20.3+dfsg0-2

After connecting printer dialogue window appeared and said that plugin is required for it and proposed a few options. I've left the default and installed proposed plugin. After the installation I was able to print using HP LJ 1020 from Ubuntu 20.04

$ dpkg --list | grep hplip
ii  hplip             3.20.3+dfsg0-2      amd64     HP Linux Printing and Imaging System (HPLIP)
ii  hplip-data        3.20.3+dfsg0-2      all       HP Linux Printing and Imaging - data files
ii  hplip-doc         3.20.3+dfsg0-2      all       HP Linux Printing and Imaging - documentation
ii  hplip-gui         3.20.3+dfsg0-2      all       HP Linux Printing and Imaging - GUI utilities (Qt-based)

It works in spite of hp-check outputs:

Missing Required Dependencies
-----------------------------
error: 'libcups2' package is missing/incompatible 
error: 'python3-pyqt4' package is missing/incompatible 
error: 'gtk2-engines-pixbuf' package is missing/incompatible 

Missing Optional Dependencies
-----------------------------
error: 'python3-dbus.mainloop.qt' package is missing/incompatible 

Total Errors: 3

1st and 3rd packages are installed, so they are incompatible, 2nd and 4th packages are not available from official Ubuntu repositories. It could impact some functionality. But I'm glad it prints at least.

0

I've been experienced this issue and also very struggle to find the solution because the problem seems I haven't installed pyqt5 but it's already installed (using python3) borrowed from this gist

pip3 install --user pyqt5  
sudo apt-get install python3-pyqt5  
sudo apt-get install pyqt5-dev-tools
sudo apt-get install qttools5-dev-tools

Finally, I found a website describing HPLIP problem on ubuntu exactly as I had at here https://ubuntuhandbook.org/index.php/2021/07/install-latest-hplip-ubuntu-20-04-fix/

The problem is because by default HPLIP installer using python at /usr/bin/python and that refers to python2.7 which is unrelated with the installed pyqt5 at my python3

So based on that site, I choose to use update-alternatives to switch python version to python3 when the installer using /usr/bin/python

sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 1
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 2

the first command is to add python2 at option number 1, and the second one is to add python3 at option number 2.

Here's the screenshot of when I switch to python3 and python2, before starting the installation again using python3 as the default one

example switch python version

0

Still an issue even with <=hplip-3.21.10.

It tries to install python2 packages, even though your 20.04 Ubuntu has python3 as the default.

To fix install this helper package:

sudo apt install python-is-python3

It will pretend to the hplip installer to use python3 instead of python2.

Not the answer you're looking for? Browse other questions tagged or ask your own question.