17

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.

Gryu
  • 7,559
  • 9
  • 33
  • 52
  • What was wrong with hplip-gui deb-package? – N0rbert Jun 04 '20 at 08: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 04 '20 at 08: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 04 '20 at 08:19
  • @N0rbert Updated question. – Gryu Jun 07 '20 at 20:55
  • I also had this problem, along with many others. See my solution here: https://askubuntu.com/a/1300041/1157731 – Stypox Dec 14 '20 at 14:16
  • https://askubuntu.com/a/1300975/101008 This worked very well. Just updating the /usr/bin/python to python3 worked – Yuvaraj Loganathan Sep 06 '21 at 03:42
  • In my case my $PATH variable was the problem (anaconda python was masking my system python). This did the trick for me: https://askubuntu.com/a/1304785 – Jasha Apr 16 '22 at 12:00

9 Answers9

11

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.

kirby_33
  • 146
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 -

  • 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. – Jan Oct 06 '20 at 01: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 05: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 https://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
dk1
  • 41
  • 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 07 '20 at 20:09
  • pip3 install pyqt5 Requirement already satisfied: pyqt5 in /usr/lib/python3/dist-packages (5.14.1) – Gryu Jun 07 '20 at 20:10
  • this does not seem to solve it – matanox Aug 25 '20 at 05:08
3

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.

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
2

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

  • This solution works too, the post that this user mention on this answer helps a lot and solves the issue also in the post you will find the answer of the @Stephan Schielke as one of the two possible solutions. – Diego Alberto Zapata Häntsch Dec 07 '21 at 21:15
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

Gryu
  • 7,559
  • 9
  • 33
  • 52
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.

Gryu
  • 7,559
  • 9
  • 33
  • 52
0

As none of the solutions provided up to 2021-02-15 solved this issue for my specific case (i.e. 64-bit XUbuntu 20.04.3 LTS with kernel 5.13.0-28-generic + wireless HP Deskjet Ink Advantage 2546 a.k.a. "Deskjet 2540 series" all-in-one printer), I ended up running the following shell terminal commands, which then solved the issue for me:

  1. Purge the current HPLIP installation:

    sudo apt-get purge hplip* -y
    
  2. Install a DEB package that makes any application-level reference to python point to the system-default (i.e. *Ubuntu 20.04's default) python 3 installation:

    sudo apt install python-is-python3 -y
    
  3. Install the HPLIP packages that ship with *Ubuntu (i.e. Ubuntu, KUbuntu, XUbuntu...) 20.04:

    sudo apt install hplip hplip-data hplip-gui -y
    
  4. Access the current user's Downloads folder:

    cd ~/Downloads
    
  5. Download HPLIP version 3.21.12 (released 2021-12-16) as a .run (i.e. shell script) installation file and store it in such user's Downloads folder:

    wget https://sourceforge.net/projects/hplip/files/hplip/3.21.12/hplip-3.21.12.run/download -O ./hplip-3.21.12.run
    
  6. Make such downloaded script executable:

    chmod +x ./hplip-3.21.12.run
    
  7. Run the installation script:

    ./hplip-3.21.12.run
    
  8. Durig the installation procedure, press Enter (return) in order to apply all default (*) options. If you are asked if you wish to remove (uninstall) the current HPLIP install and then install the HPLIP from the script, select such option (i) instead of the quit option.

  9. Confirm that you want to download and install the HPLIP plugin (or re-plug in if the plugin is already installed). Be patient: it takes a while to download and install the plugin. You may think that the plugin installer's window is static because nothing is happening, but looking at the terminal window it's noticeable that the installer is contacting the web server, downloading and then installing the plugin.

  10. Reboot / restart the computer (you may ether press r and confirm once the installer asks if you wish to restart, or you may alternatively finish the installation, close all windows and only then reboot, manually).

After you turn your HP printer on, if the plugin at the panel does nothing after you click on it and then click on HP Device Manager, click on the applications menu, type hp device manager and select it so you can add and then configure your HP printer. You may also run HP Device Manager from the terminal by issuing this command:

hp-toolbox & exit