Hello David,
David Lecompte <g...@metani.eu> writes: > Hello Guix, > > After I install Gajim from Guix on Trisquel (I have also icecat and a few > other things installed from Guix), when I try opening a MATE session, I have > the background screen for about 25 seconds, then a brief black screen and I > am back to the session greeter. > > If I log in via a console, roll back to before I installed gajim, and then > try opening a MATE session again, it works fine. > > When I log in with in a console, if gajim is installed, I have the following > additional environment variables set (which are not set when gajim is not > installed or I rolled back): > GUIX_PYTHONPATH=/home/david/.guix-profile/lib/python3.10/site-package > GIO_EXTRA_MODULES=/home/david/.guix-profile/lib/gio/modules > > I checked the journal and noticed the following: > > Starting Accessibility services bus... > at-spi-bus-launcher[1410]: /usr/libexec/at-spi-bus-launcher: symbol lookup > error: /home/david/.guix-profile/lib/gio/modules/libdconfsettings.so: > undefined symbol: g_once_init_enter_pointer > at-spi-dbus-bus.service: Main process exited, code=exited, status=127/n/a > at-spi-dbus-bus.service: Failed with result 'exit-code'. > > I see that there is a libdconfsettings.so in /usr/lib/x86_64-linux- > gnu/gio/modules/ which is from Trisquel. I am guessing that this at-spi-bis- > launcher might be from Trisquel and due to the variable, it is trying to use > libdconfsettings.so from Guix, which does not work and make it terminate. Yes, version incompatibilities can make this happen unfortunately. I don't think there is a good way to get around this kind of issues. > > However, I have no clue what role this at-spi-bus-launcher exactly has. > Could its failure be why the MATE session fails to open? Yes, it most likely is that, especially given that if you uninstall it, everything is fine. > > How is GIO_EXTRA_MODULES set by Guix? This is set by search paths, see (guix) Programming Interface > Search paths. Specifically in this case, they are set by ~/.guix-profile/etc/profile, and created according to the programs you have installed. > Is it really needed for Gajim? I think so, but gajim executable is actually wrapped with GIO_EXTRA_MODULES, so it's not necessary to set it from the profile, and ideally all programs from Guix should be wrapped like that. >If so, > is there a way to make this GIO_EXTRA_MODULES only visible to Guix > executables and not affect Trisquel ones? Yes, kinda, since the executable is wrapped, it will see that variable, also all children will see it (so it's not really limited to it), but that doesn't matter for gajim I think. So to fix this, you should be able to just unset the variable in your .profile (or shell equivalent) script, after you source the ~/.guix-profile. That is the easiest way, there would be other ways by changing the guix packages so that there is no such search path (or that glib is not propagated to your profile), but that would be harder and you wouldn't be able to use guix install conveniently form cli. Regards, Rutherther