h-client not running with a host distribution

  • Done
  • quality assurance status badge
Details
3 participants
  • Denis 'GNUtoo' Carikli
  • Josselin Poiret
  • Maxim Cournoyer
Owner
unassigned
Submitted by
Denis 'GNUtoo' Carikli
Severity
normal
D
D
Denis 'GNUtoo' Carikli wrote on 25 Jun 2022 23:15
20220625231547.7830029c@primary_laptop
Hi,

After having done a 'guix pull', I added h-client to a system image made
with guix system image, and when running that image I could launch
h-client with any of the following command lines:
$ h-client
$ sudo -E h-client

However with Parabola i686 (also after having done a 'guix pull',
h-client doesn't work anymore, and it gives the following error:
Toggle quote (21 lines)
> Traceback (most recent call last):
> File "/gnu/store/vbw6w6527y2xmxnyb4v4s9hp5ydk7i1d-h-client-0.0a0-1.e6c78b1/bin/.h-client-real", line 33, in <module>
> sys.exit(load_entry_point('hclient==0.0a0.dev0', 'console_scripts', 'h-client')())
> File "/gnu/store/vbw6w6527y2xmxnyb4v4s9hp5ydk7i1d-h-client-0.0a0-1.e6c78b1/bin/.h-client-real", line 25, in importlib_load_entry_point
> return next(matches).load()
> File "/gnu/store/x5qnvlqgcb73nksrzavpq8pg9xgrfwqv-python-3.9.9/lib/python3.9/importlib/metadata.py", line 77, in load
> module = import_module(match.group('module'))
> File "/gnu/store/x5qnvlqgcb73nksrzavpq8pg9xgrfwqv-python-3.9.9/lib/python3.9/importlib/__init__.py", line 127, in import_module
> return _bootstrap._gcd_import(name[level:], package, level)
> File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
> File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
> File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
> File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
> File "<frozen importlib._bootstrap_external>", line 850, in exec_module
> File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
> File "/gnu/store/vbw6w6527y2xmxnyb4v4s9hp5ydk7i1d-h-client-0.0a0-1.e6c78b1/lib/python3.9/site-packages/hclient/gtkclient.py", line 20, in <module>
> gi.require_version('GdkPixbuf', '2.0')
> File "/gnu/store/8yca9x2l0k0m5726m2hs2mpdma14h5yr-python-pygobject-3.40.1/lib/python3.9/site-packages/gi/__init__.py", line 126, in require_version
> raise ValueError('Namespace %s not available' % namespace)
> ValueError: Namespace GdkPixbuf not available

I vaguely remember that I could launch it on top of Parabola before, so
it seems to be related to recent updates to the h-client packages
(through before sending data didn't always work due to a bug in the
server that is now fixed).

PS: I've added Maxim in To as pers is the last person who worked on
improving the h-client package, so maybe pers has more knowledge
than me on that.

Denis.
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEeC+d2+Nrp/PU3kkGX138wUF34mMFAmK3ewQACgkQX138wUF3
4mMr8A/+OuW6mKkRDISIOnjzxd6gj8YZoYPsYET5OwrR5sEAdH7okWb8o9nkJQa5
HE4DT8dJTv9OFHneNeotE0RUxuo43VNIdYcL4EYD1AssclkULLd7Ski9MohnO5qQ
gDtrgIdD/yJ6fbDGooyzWLwZGJPJ6SwqhT28VZBXyMOtMnzR8FkJIwhA6lpMJLr+
FfyhPWTLF4i/tPEkm9IozJtusnGf0FEWeEwYFbjTnHM6zMI3TQta2eLEsN/JPIQ6
o4fVwsZl6fbgNGvYt19qlxlGmvBYH0wOe0GGOBjwjm386DCCXz/4ExKMMG3XAR0r
turzz/uAN8tgofVbkpf7vaSt4J64NTP4JaIPt/OUkwH5PI4WEhHhhQCZFmrp3H+O
fQLaJLgyq+VocC/IOXhJHZ4YKPvdy5unPN6g8LGEfq+Wd2zqA5uqcBQLB8xMUUNl
4K1c1wIXAQvtRKZRKpCQYXYpWQ1QMawX/o7Z1X9/bvT036syZZ6Y/IjzXv7ok1hl
vPlMt3wn2Y738e/lEZ5/mEbE5WpE0MpVY6vzFu4gamxp3nFkUpyKCOtCwRfD8lt3
v76BCdx/YQceuezfAtnE2WLrPG/ax2QE58gsA90OhAhdwHtR3GBhT0wwkDOsH/CY
suU/8HZR+kUmikp/FLDXF0pElaRtseJtUTyAn8ncCQwpgEk0+jY=
=HoJx
-----END PGP SIGNATURE-----


J
J
Josselin Poiret wrote on 26 Jun 2022 12:39
87wnd3so8f.fsf@jpoiret.xyz
Hello Denis,

Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org> writes:
Toggle quote (7 lines)
>> ValueError: Namespace GdkPixbuf not available
>
> I vaguely remember that I could launch it on top of Parabola before, so
> it seems to be related to recent updates to the h-client packages
> (through before sending data didn't always work due to a bug in the
> server that is now fixed).

Seems to me that gdk-pixbuf will need to be propagated, which will also
in turn propagate glib and set the search-path `GIO_EXTRA_MODULES` so
that GdkPixbuf can be found.

Best,
--
Josselin Poiret
M
M
Maxim Cournoyer wrote on 28 Jun 2022 06:53
(name . Josselin Poiret)(address . dev@jpoiret.xyz)
87fsjpxubj.fsf@gmail.com
Hello,

This should be fixed in 8d810c209f18ffb635a1db2488a939543c6f060f.

Josselin Poiret <dev@jpoiret.xyz> writes:

Toggle quote (14 lines)
> Hello Denis,
>
> Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org> writes:
>>> ValueError: Namespace GdkPixbuf not available
>>
>> I vaguely remember that I could launch it on top of Parabola before, so
>> it seems to be related to recent updates to the h-client packages
>> (through before sending data didn't always work due to a bug in the
>> server that is now fixed).
>
> Seems to me that gdk-pixbuf will need to be propagated, which will also
> in turn propagate glib and set the search-path `GIO_EXTRA_MODULES` so
> that GdkPixbuf can be found.

It's odd, but the problem was caused by the lack of GI_TYPELIB_PATH. I
wrapped that variable and also combined the phases from
glib-or-gtk-build-system and PATH (already wrapped scripts are skipped
instead of of composed) and now, the following works:

Toggle snippet (3 lines)
./pre-inst-env guix shell --pure h-client adwaita-icon-theme glib

glib is only added above to set XDG_DATA_DIRS and find the icons.

Thanks for the report!

Closing.

Maxim
Closed
?