Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

"missing required system package python3-gobject" despite it being installed. #2141

Closed
RokeJulianLockhart opened this issue Sep 22, 2023 · 13 comments · Fixed by #2171
Closed
Labels

Comments

@RokeJulianLockhart
Copy link

RokeJulianLockhart commented Sep 22, 2023

  1. Information

    • Solaar version (solaar --version or git describe --tags if cloned from this repository): 1.1.9

      RokeJulianLockhart@rp69se:~> solaar --version
      solaar 1.1.9
      
    • Distribution: opensuse:tumbleweed:20230917

    • Kernel version (ex. uname -srmo): 6.5.3-1

      >>> platform.uname().system
      'Linux'
      
      >>> platform.uname().release
      '6.5.3-1-default'
      
      >>> platform.uname().machine
      'x86_64'
      
    • Output of solaar show:

      RokeJulianLockhart@rp69se:~> solaar show
      solaar: error: Traceback (most recent call last):
      File "/usr/lib/python3.11/site-packages/solaar/cli/__init__.py", line 206, in run
          raise Exception('No devices found')
      Exception: No devices found
      
    • Contents of $HOME/.config/solaar/config.yaml (or $HOME/.config/solaar/config.json if $HOME/.config/solaar/config.yaml not present):

      PS /home/RokeJulianLockhart> Get-Content -LiteralPath "$HOME/.config/solaar/config.yaml"                                   
      Get-Content: Cannot find path '/home/RokeJulianLockhart/.config/solaar/config.yaml' because it does not exist.
      PS /home/RokeJulianLockhart> Get-Content -LiteralPath "$HOME/.config/solaar/config.json"
      Get-Content: Cannot find path '/home/RokeJulianLockhart/.config/solaar/config.json' because it does not exist.
      PS /home/RokeJulianLockhart> Get-Content -LiteralPath "$HOME/.config/solaar/config.yaml"
      Get-Content: Cannot find path '/home/RokeJulianLockhart/.config/solaar/config.yaml' because it does not exist.
      
    • Errors or warnings from Solaar:

      RokeJulianLockhart@rp69se:~> solaar
      solaar: missing required system package python3-gi (in Ubuntu) or python3-gobject (in Fedora)
      
  2. Describe the bug

    solaar: missing required system package python3-gi (in Ubuntu) or python3-gobject (in Fedora)

    appears after invoking solaar.

  3. To Reproduce

    Steps to reproduce the behavior:

    1. sudo zypper install -y solaar

      outputs

      RokeJulianLockhart@rp69se:~> script -a -c 'sudo zypper install -y solaar'
      Script started, output log file is 'typescript'.
      [sudo] password for root: 
      Refreshing service 'NVIDIA'.
      Refreshing service 'openSUSE'.
      Loading repository data...
      Reading installed packages...
      Resolving package dependencies...
      
      The following 2 packages are going to be upgraded:
      python311-gobject python311-gobject-cairo
      
      The following 14 NEW packages are going to be installed:
      libharfbuzz-gobject0 python311-evdev python311-gobject-Gdk python311-hid-parser python311-python-xlib python311-PyYAML python311-typing_extensions solaar
      solaar-udev typelib-1_0-Atk-1_0 typelib-1_0-GdkPixbuf-2_0 typelib-1_0-Gtk-3_0 typelib-1_0-HarfBuzz-0_0 typelib-1_0-Pango-1_0
      
      2 packages to upgrade, 14 new.
      Overall download size: 2.3 MiB. Already cached: 0 B. After the operation, additional 6.6 MiB will be used.
      Continue? [y/n/v/...? shows all options] (y): y
      Retrieving: libharfbuzz-gobject0-8.2.1-1.1.x86_64 (Main Repository (OSS))                                                             (1/16),  57.4 KiB    
      Retrieving: libharfbuzz-gobject0-8.2.1-1.1.x86_64.rpm ...................................................................................[done (1.2 KiB/s)]
      Retrieving: python311-PyYAML-6.0.1-1.1.x86_64 (Main Repository (OSS))                                                                 (2/16), 209.7 KiB    
      Retrieving: python311-PyYAML-6.0.1-1.1.x86_64.rpm .....................................................................................[done (980.4 KiB/s)]
      Retrieving: python311-evdev-1.6.1-2.2.x86_64 (Main Repository (OSS))                                                                  (3/16),  72.2 KiB    
      Retrieving: python311-evdev-1.6.1-2.2.x86_64.rpm .......................................................................................[done (15.1 KiB/s)]
      Retrieving: python311-gobject-3.46.0-1.1.x86_64 (Main Repository (OSS))                                                               (4/16), 427.6 KiB    
      Retrieving: python311-gobject-3.46.0-1.1.x86_64.rpm .....................................................................................[done (1.2 MiB/s)]
      Retrieving: python311-hid-parser-0.0.3-1.5.noarch (Main Repository (OSS))                                                             (5/16),  59.1 KiB    
      Retrieving: python311-hid-parser-0.0.3-1.5.noarch.rpm ...................................................................................[done (1.2 KiB/s)]
      Retrieving: python311-python-xlib-0.33-2.1.noarch (Main Repository (OSS))                                                             (6/16), 324.9 KiB    
      Retrieving: python311-python-xlib-0.33-2.1.noarch.rpm ...................................................................................[done (1.2 MiB/s)]
      Retrieving: python311-typing_extensions-4.7.1-1.1.noarch (Main Repository (OSS))                                                      (7/16),  96.9 KiB    
      Retrieving: python311-typing_extensions-4.7.1-1.1.noarch.rpm ...........................................................................[done (38.2 KiB/s)]
      Retrieving: solaar-udev-1.1.9-1.2.noarch (Main Repository (OSS))                                                                      (8/16),  32.4 KiB    
      Retrieving: solaar-udev-1.1.9-1.2.noarch.rpm ........................................................................................................[done]
      Retrieving: typelib-1_0-Atk-1_0-2.50.0-1.1.x86_64 (Main Repository (OSS))                                                             (9/16),  37.8 KiB    
      Retrieving: typelib-1_0-Atk-1_0-2.50.0-1.1.x86_64.rpm ...............................................................................................[done]
      Retrieving: typelib-1_0-GdkPixbuf-2_0-2.42.10-1.5.x86_64 (Main Repository (OSS))                                                     (10/16),  19.4 KiB    
      Retrieving: typelib-1_0-GdkPixbuf-2_0-2.42.10-1.5.x86_64.rpm ........................................................................................[done]
      Retrieving: typelib-1_0-HarfBuzz-0_0-8.2.1-1.1.x86_64 (Main Repository (OSS))                                                        (11/16),  67.8 KiB    
      Retrieving: typelib-1_0-HarfBuzz-0_0-8.2.1-1.1.x86_64.rpm ...........................................................................................[done]
      Retrieving: python311-gobject-cairo-3.46.0-1.1.x86_64 (Main Repository (OSS))                                                        (12/16),  19.8 KiB    
      Retrieving: python311-gobject-cairo-3.46.0-1.1.x86_64.rpm ...........................................................................................[done]
      Retrieving: typelib-1_0-Pango-1_0-1.51.1-1.1.x86_64 (Main Repository (OSS))                                                          (13/16),  47.9 KiB    
      Retrieving: typelib-1_0-Pango-1_0-1.51.1-1.1.x86_64.rpm .............................................................................................[done]
      Retrieving: python311-gobject-Gdk-3.46.0-1.1.x86_64 (Main Repository (OSS))                                                          (14/16),  73.0 KiB    
      Retrieving: python311-gobject-Gdk-3.46.0-1.1.x86_64.rpm .............................................................................................[done]
      Retrieving: typelib-1_0-Gtk-3_0-3.24.38-3.1.x86_64 (Main Repository (OSS))                                                           (15/16), 246.6 KiB    
      Retrieving: typelib-1_0-Gtk-3_0-3.24.38-3.1.x86_64.rpm ................................................................................[done (985.8 KiB/s)]
      Retrieving: solaar-1.1.9-1.2.noarch (Main Repository (OSS))                                                                          (16/16), 582.3 KiB    
      Retrieving: solaar-1.1.9-1.2.noarch.rpm ...............................................................................................[done (948.1 KiB/s)]
      
      Checking for file conflicts: ........................................................................................................................[done]
      ( 1/16) Installing: libharfbuzz-gobject0-8.2.1-1.1.x86_64 ...........................................................................................[done]
      ( 2/16) Installing: python311-PyYAML-6.0.1-1.1.x86_64 ...............................................................................................[done]
      ( 3/16) Installing: python311-evdev-1.6.1-2.2.x86_64 ................................................................................................[done]
      ( 4/16) Installing: python311-gobject-3.46.0-1.1.x86_64 .............................................................................................[done]
      ( 5/16) Installing: python311-hid-parser-0.0.3-1.5.noarch ...........................................................................................[done]
      ( 6/16) Installing: python311-python-xlib-0.33-2.1.noarch ...........................................................................................[done]
      ( 7/16) Installing: python311-typing_extensions-4.7.1-1.1.noarch ....................................................................................[done]
      ( 8/16) Installing: solaar-udev-1.1.9-1.2.noarch ....................................................................................................[done]
      ( 9/16) Installing: typelib-1_0-Atk-1_0-2.50.0-1.1.x86_64 ...........................................................................................[done]
      (10/16) Installing: typelib-1_0-GdkPixbuf-2_0-2.42.10-1.5.x86_64 ....................................................................................[done]
      (11/16) Installing: typelib-1_0-HarfBuzz-0_0-8.2.1-1.1.x86_64 .......................................................................................[done]
      (12/16) Installing: python311-gobject-cairo-3.46.0-1.1.x86_64 .......................................................................................[done]
      (13/16) Installing: typelib-1_0-Pango-1_0-1.51.1-1.1.x86_64 .........................................................................................[done]
      (14/16) Installing: python311-gobject-Gdk-3.46.0-1.1.x86_64 .........................................................................................[done]
      (15/16) Installing: typelib-1_0-Gtk-3_0-3.24.38-3.1.x86_64 ..........................................................................................[done]
      (16/16) Installing: solaar-1.1.9-1.2.noarch .........................................................................................................[done]
      Executing %posttrans scripts ........................................................................................................................[done]
      There are running programs which still use files and libraries deleted or updated by recent upgrades. They should be restarted to benefit from the latest updates. Run 'zypper ps -s' to list these programs.
      
      Script done.
      
    2. solaar

      outputs

      RokeJulianLockhart@rp69se:~> solaar
      solaar: missing required system package python3-gi (in Ubuntu) or python3-gobject (in Fedora)
      
    3. sudo zypper install python3-gobject

      outputs

      RokeJulianLockhart@rp69se:~> sudo zypper install python3-gobject
      [sudo] password for root: 
      Refreshing service 'NVIDIA'.
      Refreshing service 'openSUSE'.
      Loading repository data...
      Reading installed packages...
      'python3-gobject' not found in package names. Trying capabilities.
      'python311-gobject' providing 'python3-gobject' is already installed.
      Resolving package dependencies...
      Nothing to do.
      
  4. Screenshots

    Screenshot_20230922_134634

  5. Additional context

    I am using https://download.opensuse.org/repositories/openSUSE:/Factory/standard/noarch/solaar-1.1.9-1.2.noarch.rpm

@pfps
Copy link
Collaborator

pfps commented Sep 22, 2023

Python packages are specific to the version of python. I expect that you have two versions of python - one used by the system and one used by you when running Solaar.

@RokeJulianLockhart
Copy link
Author

#2141 (comment)

@pfps, so what should I do, if anything?

@pfps
Copy link
Collaborator

pfps commented Sep 22, 2023

You have to either align your version of python with the system version or install the python libraries for your version of python. But first, you have to determine whether you are indeed using different version of python than the system version. This all depends on your distribution so I can't help there. I expect that there are questions on Stack Exchange that are related so you might try to search there.

@RokeJulianLockhart
Copy link
Author

RokeJulianLockhart commented Sep 22, 2023

I expect that there are questions on Stack Exchange that are related so you might try to search there.

@pfps, I can probably do what you're asking, I just don't really understand the terminology you use, such as alignment, in this context. I'll see what I can do.

@pfps
Copy link
Collaborator

pfps commented Sep 22, 2023

There are multiple versions of Python, each with its own set of libraries. If you are using, for example, Python 3.10 but the system uses Python 3.11, then you are out of alignment with the system Python.

@RokeJulianLockhart
Copy link
Author

RokeJulianLockhart commented Sep 22, 2023

#2141 (comment)

@pfps, what do you mean by me and "the system" using a different version of python? Doesn't each package define the version of python it depends upon? If I have multiple versions installed, if that's what you mean, I can't imagine that being problematic.

zypper search -s <# https://superuser.com/a/793450/904401 #> -i <# https://www.cyberciti.biz/faq/list-all-installed-packages-on-opensuse-suse-linux/ #> python3
RokeJulianLockhart@rp69se:~> zypper search -si python3
Loading repository data...
Reading installed packages...

S | Name                        | Type    | Version                       | Arch   | Repository
--+-----------------------------+---------+-------------------------------+--------+----------------------
i | libpython3_11-1_0           | package | 3.11.5-1.2                    | x86_64 | Main Repository (OSS)
i | libpython3_11-1_0           | package | 3.11.5-1.2                    | x86_64 | repo-oss
i | libsamba-policy0-python3    | package | 4.18.6+git.320.cfda27bacb-1.1 | x86_64 | Main Repository (OSS)
i | libsamba-policy0-python3    | package | 4.18.6+git.320.cfda27bacb-1.1 | x86_64 | repo-oss
i | python3-apparmor            | package | 3.1.6-4.1                     | x86_64 | Main Repository (OSS)
i | python3-apparmor            | package | 3.1.6-4.1                     | x86_64 | repo-oss
i | python3-createrepo_c        | package | 0.20.1-3.4                    | x86_64 | Main Repository (OSS)
i | python3-createrepo_c        | package | 0.20.1-3.4                    | x86_64 | repo-oss
i | python3-firewall            | package | 2.0.0-2.1                     | noarch | Main Repository (OSS)
i | python3-firewall            | package | 2.0.0-2.1                     | noarch | repo-oss
i | python3-ldb                 | package | 2.7.2-1.3                     | x86_64 | Main Repository (OSS)
i | python3-ldb                 | package | 2.7.2-1.3                     | x86_64 | repo-oss
i | python3-nftables            | package | 1.0.8-1.2                     | x86_64 | Main Repository (OSS)
i | python3-nftables            | package | 1.0.8-1.2                     | x86_64 | repo-oss
i | python3-solv                | package | 0.7.24-1.5                    | x86_64 | Main Repository (OSS)
i | python3-solv                | package | 0.7.24-1.5                    | x86_64 | repo-oss
i | python3-talloc              | package | 2.4.0-3.3                     | x86_64 | Main Repository (OSS)
i | python3-talloc              | package | 2.4.0-3.3                     | x86_64 | repo-oss
i | python3-tdb                 | package | 1.4.8-1.3                     | x86_64 | Main Repository (OSS)
i | python3-tdb                 | package | 1.4.8-1.3                     | x86_64 | repo-oss
i | python3-tevent              | package | 0.14.1-2.2                    | x86_64 | Main Repository (OSS)
i | python3-tevent              | package | 0.14.1-2.2                    | x86_64 | repo-oss
i | python311                   | package | 3.11.5-1.1                    | x86_64 | Main Repository (OSS)
i | python311                   | package | 3.11.5-1.1                    | x86_64 | repo-oss
i | python311-base              | package | 3.11.5-1.2                    | x86_64 | Main Repository (OSS)
i | python311-base              | package | 3.11.5-1.2                    | x86_64 | repo-oss
i | python311-cmdln             | package | 2.0.0-3.15                    | noarch | Main Repository (OSS)
i | python311-cmdln             | package | 2.0.0-3.15                    | noarch | repo-oss
i | python311-configobj         | package | 5.0.8-3.1                     | noarch | Main Repository (OSS)
i | python311-configobj         | package | 5.0.8-3.1                     | noarch | repo-oss
i | python311-curses            | package | 3.11.5-1.1                    | x86_64 | Main Repository (OSS)
i | python311-curses            | package | 3.11.5-1.1                    | x86_64 | repo-oss
i | python311-dbm               | package | 3.11.5-1.1                    | x86_64 | Main Repository (OSS)
i | python311-dbm               | package | 3.11.5-1.1                    | x86_64 | repo-oss
i | python311-dbus-python       | package | 1.3.2-2.3                     | x86_64 | Main Repository (OSS)
i | python311-dbus-python       | package | 1.3.2-2.3                     | x86_64 | repo-oss
i | python311-decorator         | package | 5.1.1-2.4                     | noarch | Main Repository (OSS)
i | python311-decorator         | package | 5.1.1-2.4                     | noarch | repo-oss
i | python311-evdev             | package | 1.6.1-2.2                     | x86_64 | Main Repository (OSS)
i | python311-evdev             | package | 1.6.1-2.2                     | x86_64 | repo-oss
i | python311-gobject           | package | 3.46.0-1.1                    | x86_64 | Main Repository (OSS)
i | python311-gobject           | package | 3.46.0-1.1                    | x86_64 | repo-oss
i | python311-gobject-cairo     | package | 3.46.0-1.1                    | x86_64 | Main Repository (OSS)
i | python311-gobject-cairo     | package | 3.46.0-1.1                    | x86_64 | repo-oss
i | python311-gobject-Gdk       | package | 3.46.0-1.1                    | x86_64 | Main Repository (OSS)
i | python311-gobject-Gdk       | package | 3.46.0-1.1                    | x86_64 | repo-oss
i | python311-hid-parser        | package | 0.0.3-1.5                     | noarch | Main Repository (OSS)
i | python311-hid-parser        | package | 0.0.3-1.5                     | noarch | repo-oss
i | python311-linux-procfs      | package | 0.7.1-1.6                     | noarch | Main Repository (OSS)
i | python311-linux-procfs      | package | 0.7.1-1.6                     | noarch | repo-oss
i | python311-notify2           | package | 0.3.1-4.14                    | noarch | Main Repository (OSS)
i | python311-notify2           | package | 0.3.1-4.14                    | noarch | repo-oss
i | python311-pip               | package | 23.2.1-1.1                    | noarch | Main Repository (OSS)
i | python311-pip               | package | 23.2.1-1.1                    | noarch | repo-oss
i | python311-psutil            | package | 5.9.5-3.1                     | x86_64 | Main Repository (OSS)
i | python311-psutil            | package | 5.9.5-3.1                     | x86_64 | repo-oss
i | python311-pycairo           | package | 1.24.0-1.2                    | x86_64 | Main Repository (OSS)
i | python311-pycairo           | package | 1.24.0-1.2                    | x86_64 | repo-oss
i | python311-python-xlib       | package | 0.33-2.1                      | noarch | Main Repository (OSS)
i | python311-python-xlib       | package | 0.33-2.1                      | noarch | repo-oss
i | python311-pyudev            | package | 0.24.1-1.3                    | noarch | Main Repository (OSS)
i | python311-pyudev            | package | 0.24.1-1.3                    | noarch | repo-oss
i | python311-PyYAML            | package | 6.0.1-1.1                     | x86_64 | Main Repository (OSS)
i | python311-PyYAML            | package | 6.0.1-1.1                     | x86_64 | repo-oss
i | python311-rpm               | package | 4.18.0-6.1                    | x86_64 | Main Repository (OSS)
i | python311-rpm               | package | 4.18.0-6.1                    | x86_64 | repo-oss
i | python311-setuptools        | package | 68.1.2-1.1                    | noarch | Main Repository (OSS)
i | python311-setuptools        | package | 68.1.2-1.1                    | noarch | repo-oss
i | python311-six               | package | 1.16.0-3.3                    | noarch | Main Repository (OSS)
i | python311-six               | package | 1.16.0-3.3                    | noarch | repo-oss
i | python311-slip              | package | 0.6.5-6.19                    | noarch | Main Repository (OSS)
i | python311-slip              | package | 0.6.5-6.19                    | noarch | repo-oss
i | python311-slip-dbus         | package | 0.6.5-6.19                    | noarch | Main Repository (OSS)
i | python311-slip-dbus         | package | 0.6.5-6.19                    | noarch | repo-oss
i | python311-typing_extensions | package | 4.7.1-1.1                     | noarch | Main Repository (OSS)
i | python311-typing_extensions | package | 4.7.1-1.1                     | noarch | repo-oss
i | samba-libs-python3          | package | 4.18.6+git.320.cfda27bacb-1.1 | x86_64 | Main Repository (OSS)
i | samba-libs-python3          | package | 4.18.6+git.320.cfda27bacb-1.1 | x86_64 | repo-oss
i | samba-python3               | package | 4.18.6+git.320.cfda27bacb-1.1 | x86_64 | Main Repository (OSS)
i | samba-python3               | package | 4.18.6+git.320.cfda27bacb-1.1 | x86_64 | repo-oss
i | yast2-python3-bindings      | package | 4.6.0-1.3                     | x86_64 | Main Repository (OSS)
i | yast2-python3-bindings      | package | 4.6.0-1.3                     | x86_64 | repo-oss
RokeJulianLockhart@rp69se:~>

are the python3 packages I have installed. Perhaps whoever packaged https://build.opensuse.org/package/show/openSUSE%3AFactory/solaar didn't set the correct dependency? If so, I can always just install it manually. I just don't know which version should be present, if that's the problem.

@pfps
Copy link
Collaborator

pfps commented Sep 22, 2023

The problem is that different versions of python use different libraries. Using the system to install a python library may only install the library for the version of python that the system uses.

It may be that the Suse distribution of Solaar assumes that Solaar is being run with the same version of python that the system uses.

@RokeJulianLockhart
Copy link
Author

RokeJulianLockhart commented Sep 22, 2023

It may be that the Suse distribution of Solaar assumes that Solaar is being run with the same version of python that the system uses.

Yeah, @pfps, I'll attempt to ascertain whether this is an upstream issue: https://build.opensuse.org/package/show/openSUSE%3AFactory/solaar#comment-1825377

@RokeJulianLockhart
Copy link
Author

Works on my desktop, just not my laptop. I'll reinstall the OS on the laptop to verify.

@Nidhhogg
Copy link

Had similar issue on Tumbleweed when using solaar. Seems that installing python-gobject-common-devel package from Zypper fix the issue and it is working flawlessly

@pfps
Copy link
Collaborator

pfps commented Oct 21, 2023

Is there anything that needs to be done here?

@RokeJulianLockhart
Copy link
Author

#2141 (comment)

@pfps, if @Nidhhogg's comment #2141 (comment) is correct, the aforementioned package must be added as a package dependency for openSUSE.

@pfps
Copy link
Collaborator

pfps commented Nov 4, 2023

Package dependencies are the responsibility of the packager so I suggest contacting whoever is packaging Solaar for openSUSE. I'll add a note to the installation documentation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants