hplip not working after install in 22.04, python error

Bug #1992187 reported by Peter Glässel
16
This bug affects 3 people
Affects Status Importance Assigned to Milestone
hplip (Ubuntu)
Confirmed
Undecided
Unassigned

Bug Description

after upgrade from 20.04 to 22.04.1 (not a new installation): new installation of hplip
>sudo apt install hplip hplip-gui

Install completes without error.

Using hplip, e.g.
>hp-setup

manual detection of wireless printer using IP works, printer is listed, but on 'next' -> process hangs (wait/termination suggested, wait does not help)

alternative: (hplip installs a suite of programs)
>hp-check (verifies installation and contact to printer, scanner
produces normal output ending prematurely with error message:

  Saving output in log file: /home/glassel/hp-check.log

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

-Traceback (most recent call last):
  File "/usr/bin/hp-check", line 861, in <module>
    dep.core.init()
  File "/usr/share/hplip/installer/core_install.py", line 523, in init
    self.get_distro()
  File "/usr/share/hplip/installer/core_install.py", line 661, in get_distro
    if 'MX' in distro_release_name:
NameError: name 'distro_release_name' is not defined

further info:
>apt-cache policy hplip
hplip:
  Installed: 3.22.2+dfsg0-1+klbkjammy
  Candidate: 3.22.2+dfsg0-1+klbkjammy
  Version table:
 *** 3.22.2+dfsg0-1+klbkjammy 500
        500 https://ppa.launchpadcontent.net/kelebek333/hplip/ubuntu jammy/main amd64 Packages
        100 /var/lib/dpkg/status
     3.21.12+dfsg0-1 500
        500 http://de.archive.ubuntu.com/ubuntu jammy/main amd64 Packages

> apt-cache policy hplip-gui
hplip-gui:
  Installed: 3.22.2+dfsg0-1+klbkjammy
  Candidate: 3.22.2+dfsg0-1+klbkjammy
  Version table:
 *** 3.22.2+dfsg0-1+klbkjammy 500
        500 https://ppa.launchpadcontent.net/kelebek333/hplip/ubuntu jammy/main amd64 Packages
        500 https://ppa.launchpadcontent.net/kelebek333/hplip/ubuntu jammy/main i386 Packages
        100 /var/lib/dpkg/status
     3.21.12+dfsg0-1 500
        500 http://de.archive.ubuntu.com/ubuntu jammy/universe amd64 Packages
        500 http://de.archive.ubuntu.com/ubuntu jammy/universe i386 Packages

-------------------

I tried alternate ways to install hplip:
hplip-3.22.6.run downloaded from hp

this fails with an unmet dependency 'libcups2', but sudo apt install libcups2 tells me it is
installed (-dev version, too)

A fresh install of cups did not help.

    Best regards ... Peter Glassel

Revision history for this message
Peter Glässel (glassel) wrote :

More information (with installation from repository):

after patching the python error in core_install.py (commenting if statement
running hp-check gives the following error messages (I omit the non-error output here):

 error: cups CUPS - Common Unix Printing System REQUIRED
1.1 - MISSING 'CUPS may not be installed or not running'

 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'

Missing Required Dependencies
-----------------------------
error: 'libcups2' package is missing/incompatible

my comments:
cups and cups-browsed are running!
libcups2 is already the newest version (2.4.1op1-1ubuntu4.1).
E: Unable to locate package python3-pyqt4-dbus

    Best regards ... Peter Glassel

Peter Glässel (glassel)
summary: - hplib not working after install, python error
+ hplip not working after install, python error
description: updated
Peter Glässel (glassel)
summary: - hplip not working after install, python error
+ hplip not working after install in 22.02, python error
summary: - hplip not working after install in 22.02, python error
+ hplip not working after install in 22.04, python error
Revision history for this message
miles (motobecanemiles) wrote (last edit ):

I also had this issue.

 I had hplip installed as part of my default ubuntu 22.04.1 LTS install. I downloaded the installer from the hp dev website (https://developers.hp.com/hp-linux-imaging-and-printing/install/install/index) and ran the auto installer. The installer installed some packages, and removed the old hplip install. This resulted in a working hplip.

I did try reinstalling with apt but it did not resolve the issue. I had to use the installer from the hp website. Best of luck.

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
Revision history for this message
Alberto Donato (ack) wrote :

I also hit this issue, it seems get_distro_std_name got renamed but the code didn't get updated.

As a workaround, I managed to get it working with the following changes:

$ diff -u /usr/share/hplip/base/password.py.orig /usr/share/hplip/base/password.py
--- /usr/share/hplip/base/password.py.orig 2023-04-22 08:56:30.569359088 +0200
+++ /usr/share/hplip/base/password.py 2023-04-22 08:57:32.449282962 +0200
@@ -116,7 +116,7 @@
         # added replace() to remove the spaces in distro_name
         (os_name,_ver) = utils.get_distro_name() #.lower().replace(" ","")
         os_name = os_name.lower().replace(" ","")
- distro_name = get_distro_std_name(os_name)
+ distro_name = get_distro_name()
         self.__authType = user_conf.get('authentication', 'su_sudo', '')
         if self.__authType != "su" and self.__authType != "sudo":
             try:
@@ -319,7 +319,7 @@
     def __get_password_utils_ui(self):
         (os_name,_ver) = utils.get_distro_name()
         os_name = os_name.lower().replace(" ","")
- distro_name = get_distro_std_name(os_name)
+ distro_name = get_distro_name()
         if self.__authType == "sudo":
             AuthType, AuthCmd = 'sudo', 'sudo %s'
         else:

Revision history for this message
Fabio M. Panico (fbugnon) wrote :

Could not understand how to implement the workaround suggested by Alterbo Donato #4. I would appreciate if you could clarify.

But uninstalling the package available at Ubuntu 22.04 repository and installing the package downloaded from HP Developers (https://developers.hp.com/hp-linux-imaging-and-printing/gethplip) worked fine for me.

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.