Cambalache: GTK 4 projects don't work

  • Done
  • quality assurance status badge
Details
2 participants
  • Liliana Marie Prikler
  • Luis Felipe
Owner
unassigned
Submitted by
Luis Felipe
Severity
normal
L
L
Luis Felipe wrote on 27 Sep 2022 15:22
(name . Luis Felipe via Bug reports for GNU Guix)(address . bug-guix@gnu.org)
2mHH10nfJDAJ9Rp8EAb8MFPsoGQaOdzh6y57VCIrUNfnZCURV4N-ZyXOItQyZ2J3PMOxJMTwSP3qslIuYSepbUesTxQOxVS7AP2bmlJh1lg=@protonmail.com
Hi, this is using Cambalache 0.10.3 on Guix System (guix 77e768a).

The problem seems limited to GTK 4 projects. GTK 3 worked for me.


STEPS TO REPRODUCE

1. Launch Cambalache
2. Create a new GTK 4 project

2.1. Click "Create a new project" button
2.3. Add project name (e.g. test)
2.4. Choose location
2.5. Select Gtk 4 as Toolkit target
2.6. Add UI file name (e.g. window.ui)
2.7. Click "Create" button


EXPECTED RESULT

? The workspace is loaded

? Clicking Toplevel → GtkApplicationWindow add a new app window to the workspace



UNEXPECTED RESULT

? The workspace loads with an error:

~~~
Workspace process error
Stopping auto restart
~~~

? I can't add any GUI component to the workspace. Clicking Toplevel → GtkApplicationWindow adds the window to the project tree but not to the workspace



ADDITIONAL INFORMATION

Starting Cambalache from a terminal and following the steps to reproduce I can see the following error:

~~~
LANG=C cambalache

** (process:18718): WARNING **: 08:08:13.250: Failed to load shared library '/gnu/store/zhax2b3av3cr8nfhhl5fjacj4ayn1xcb-gtk-4.8.0/lib/libgtk-4.so.1' referenced by the typelib: libgtk-4.so.1: cannot open shared object file: No such file or directory
Traceback (most recent call last):
File "/gnu/store/r69vjhbz1vjjaij5wp3nvwvc4czk0pj9-cambalache-0.10.3/lib/python3.9/site-packages/cambalache/priv/merengue/merengue", line 47, in <module>
from merengue import MrgApplication
File "/gnu/store/r69vjhbz1vjjaij5wp3nvwvc4czk0pj9-cambalache-0.10.3/lib/python3.9/site-packages/cambalache/priv/merengue/__init__.py", line 43, in <module>
from .mrg_application import MrgApplication
File "/gnu/store/r69vjhbz1vjjaij5wp3nvwvc4czk0pj9-cambalache-0.10.3/lib/python3.9/site-packages/cambalache/priv/merengue/mrg_application.py", line 30, in <module>
from gi.repository import GLib, GObject, Gio, Gdk, Gtk
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 664, in _load_unlocked
File "<frozen importlib._bootstrap>", line 627, in _load_backward_compatible
File "/gnu/store/b07y8a2axslnz97pjdg7lp73xwk1gf8w-python-pygobject-3.40.1/lib/python3.9/site-packages/gi/importer.py", line 145, in load_module
dynamic_module = load_overrides(introspection_module)
File "/gnu/store/b07y8a2axslnz97pjdg7lp73xwk1gf8w-python-pygobject-3.40.1/lib/python3.9/site-packages/gi/overrides/__init__.py", line 118, in load_overrides
override_mod = importlib.import_module(override_package_name)
File "/gnu/store/qar3sks5fwzm91bl3d3ngyrvxs7ipj5z-python-3.9.9/lib/python3.9/importlib/__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "/gnu/store/b07y8a2axslnz97pjdg7lp73xwk1gf8w-python-pygobject-3.40.1/lib/python3.9/site-packages/gi/overrides/Gtk.py", line 111, in <module>
class Widget(Gtk.Widget):
File "/gnu/store/b07y8a2axslnz97pjdg7lp73xwk1gf8w-python-pygobject-3.40.1/lib/python3.9/site-packages/gi/module.py", line 168, in __getattr__
interfaces = tuple(interface for interface in get_interfaces_for_object(info)
File "/gnu/store/b07y8a2axslnz97pjdg7lp73xwk1gf8w-python-pygobject-3.40.1/lib/python3.9/site-packages/gi/module.py", line 94, in get_interfaces_for_object
interfaces.append(getattr(module, name))
File "/gnu/store/b07y8a2axslnz97pjdg7lp73xwk1gf8w-python-pygobject-3.40.1/lib/python3.9/site-packages/gi/overrides/__init__.py", line 32, in __getattr__
return getattr(self._introspection_module, name)
File "/gnu/store/b07y8a2axslnz97pjdg7lp73xwk1gf8w-python-pygobject-3.40.1/lib/python3.9/site-packages/gi/module.py", line 207, in __getattr__
wrapper = metaclass(name, bases, dict_)
File "/gnu/store/b07y8a2axslnz97pjdg7lp73xwk1gf8w-python-pygobject-3.40.1/lib/python3.9/site-packages/gi/types.py", line 247, in __init__
register_interface_info(cls.__info__.get_g_type())
TypeError: must be an interface
WARNING:cambalache.cmb_view Error stoping /gnu/store/r69vjhbz1vjjaij5wp3nvwvc4czk0pj9-cambalache-0.10.3/lib/python3.9/site-packages/cambalache/priv/merengue/merengue [Errno 3] No such process

** (process:18729): WARNING **: 08:08:13.405: Failed to load shared library '/gnu/store/zhax2b3av3cr8nfhhl5fjacj4ayn1xcb-gtk-4.8.0/lib/libgtk-4.so.1' referenced by the typelib: libgtk-4.so.1: cannot open shared object file: No such file or directory
Traceback (most recent call last):
File "/gnu/store/r69vjhbz1vjjaij5wp3nvwvc4czk0pj9-cambalache-0.10.3/lib/python3.9/site-packages/cambalache/priv/merengue/merengue", line 47, in <module>
from merengue import MrgApplication
File "/gnu/store/r69vjhbz1vjjaij5wp3nvwvc4czk0pj9-cambalache-0.10.3/lib/python3.9/site-packages/cambalache/priv/merengue/__init__.py", line 43, in <module>
from .mrg_application import MrgApplication
File "/gnu/store/r69vjhbz1vjjaij5wp3nvwvc4czk0pj9-cambalache-0.10.3/lib/python3.9/site-packages/cambalache/priv/merengue/mrg_application.py", line 30, in <module>
from gi.repository import GLib, GObject, Gio, Gdk, Gtk
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 664, in _load_unlocked
File "<frozen importlib._bootstrap>", line 627, in _load_backward_compatible
File "/gnu/store/b07y8a2axslnz97pjdg7lp73xwk1gf8w-python-pygobject-3.40.1/lib/python3.9/site-packages/gi/importer.py", line 145, in load_module
dynamic_module = load_overrides(introspection_module)
File "/gnu/store/b07y8a2axslnz97pjdg7lp73xwk1gf8w-python-pygobject-3.40.1/lib/python3.9/site-packages/gi/overrides/__init__.py", line 118, in load_overrides
override_mod = importlib.import_module(override_package_name)
File "/gnu/store/qar3sks5fwzm91bl3d3ngyrvxs7ipj5z-python-3.9.9/lib/python3.9/importlib/__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "/gnu/store/b07y8a2axslnz97pjdg7lp73xwk1gf8w-python-pygobject-3.40.1/lib/python3.9/site-packages/gi/overrides/Gtk.py", line 111, in <module>
class Widget(Gtk.Widget):
File "/gnu/store/b07y8a2axslnz97pjdg7lp73xwk1gf8w-python-pygobject-3.40.1/lib/python3.9/site-packages/gi/module.py", line 168, in __getattr__
interfaces = tuple(interface for interface in get_interfaces_for_object(info)
File "/gnu/store/b07y8a2axslnz97pjdg7lp73xwk1gf8w-python-pygobject-3.40.1/lib/python3.9/site-packages/gi/module.py", line 94, in get_interfaces_for_object
interfaces.append(getattr(module, name))
File "/gnu/store/b07y8a2axslnz97pjdg7lp73xwk1gf8w-python-pygobject-3.40.1/lib/python3.9/site-packages/gi/overrides/__init__.py", line 32, in __getattr__
return getattr(self._introspection_module, name)
File "/gnu/store/b07y8a2axslnz97pjdg7lp73xwk1gf8w-python-pygobject-3.40.1/lib/python3.9/site-packages/gi/module.py", line 207, in __getattr__
wrapper = metaclass(name, bases, dict_)
File "/gnu/store/b07y8a2axslnz97pjdg7lp73xwk1gf8w-python-pygobject-3.40.1/lib/python3.9/site-packages/gi/types.py", line 247, in __init__
register_interface_info(cls.__info__.get_g_type())
TypeError: must be an interface
WARNING:cambalache.cmb_view Error stoping /gnu/store/r69vjhbz1vjjaij5wp3nvwvc4czk0pj9-cambalache-0.10.3/lib/python3.9/site-packages/cambalache/priv/merengue/merengue [Errno 3] No such process
~~~



---
Luis Felipe López Acevedo
Attachment: signature.asc
L
L
Liliana Marie Prikler wrote on 28 Sep 2022 09:53
57831aa09beb46c8bc58ddd057d2e8f02b6d585f.camel@ist.tugraz.at
Am Dienstag, dem 27.09.2022 um 13:22 +0000 schrieb Luis Felipe:
Toggle quote (4 lines)
> ** (process:18718): WARNING **: 08:08:13.250: Failed to load shared
> library '/gnu/store/zhax2b3av3cr8nfhhl5fjacj4ayn1xcb-gtk-
> 4.8.0/lib/libgtk-4.so.1' referenced by the typelib: libgtk-4.so.1:
> cannot open shared object file: No such file or directory
Rather than cambalche being broken, this appears to be a broken gtk.
You may want to try repairing it using `guix build --repair'. Note,
that this probably won't work if it's a grafted store item.

Cheers
L
L
Luis Felipe wrote on 28 Sep 2022 18:10
(name . Liliana Marie Prikler)(address . liliana.prikler@ist.tugraz.at)(address . 58116@debbugs.gnu.org)
4W_0WQp8CDZwL4tu3o0xdFPc2RKs7_wm64dC343NvjM7fI_R2wNV9BkPWUBJ9nFIBBUOonOV2mOEmvjPeokrZ0z4Pc5XXg-OnAs1qHYLuUQ=@protonmail.com
Hi Liliana,

On Wednesday, September 28th, 2022 at 07:53, Liliana Marie Prikler <liliana.prikler@ist.tugraz.at> wrote:

Toggle quote (4 lines)
> Rather than cambalche being broken, this appears to be a broken gtk.
> You may want to try repairing it using `guix build --repair'. Note,
> that this probably won't work if it's a grafted store item.

Oh, yeah, it seems that was it (I don't understand why gtk was broken though...). I'm closing this issue.

For what it's worth, I ran

sudo guix build --repair gtk
/gnu/store/98rk525gszggbdyqk4g1xr48p6l9jzvz-gtk-4.8.0-bin
/gnu/store/1n80vbzzz512wbzzpy1f0vxm52cjw86j-gtk-4.8.0-doc
/gnu/store/61a5y8h4cm16b8pfxdd6y5xlbxm0rcpr-gtk-4.8.0

After that Cambalache didn't even start. I rebooted the system and launching Cambalache resulted in the same workspace error. Then launched Cambalache in a container:

guix shell -C cambalache -E "^DISPLAY$" -E "^XAUTHORITY$" --expose="$XAUTHORITY" --expose=/tmp/.X11-unix/ --expose=$HOME/.Xauthority --expose=/etc/machine-id --expose=/dev/dri/card0 --expose=$HOME/Descargas --expose=/tmp/dbus-sLdbO2N5m6

It worked without errors. Then left the container, tried launching Cambalache from my user profile again and it worked without errors too (confused).

Thanks, Liliana, and sorry for the noise :)
Attachment: signature.asc
L
Closed
?