Subject: bug#55042: python-scipy breaks login on foreign distro

From: zimoun <[email-masked]>
Date: Wed, 20 Apr 2022 17:07:48 +0200

Hi,

Running Guix on the top of Ubuntu, GDM refuses to log in if the package
“python-scipy” is installed and its profile sourced.

Basically, consider

    mkdir -p ~/.config/guix/profiles
    guix package -i python-scipy -p ~/.config/guix/profiles/python

Then also consider that the file ~/.bash_profile contains:

--8<---------------cut here---------------start------------->8---
GUIX_PROFILE=~/.config/guix/profiles/python
. $GUIX_PROFILE/etc/profile
--8<---------------cut here---------------end--------------->8---

which basically export:

--8<---------------cut here---------------start------------->8---
export PATH="${GUIX_PROFILE:-/gnu/store/qij79rxcr8jpjzh1rqv63ckajvivdxfn-profile}/bin${PATH:+:}$PATH"
export XDG_DATA_DIRS="${GUIX_PROFILE:-/gnu/store/qij79rxcr8jpjzh1rqv63ckajvivdxfn-profile}/share${XDG_DATA_DIRS:+:}$XDG_DATA_DIRS"
export GI_TYPELIB_PATH="${GUIX_PROFILE:-/gnu/store/qij79rxcr8jpjzh1rqv63ckajvivdxfn-profile}/lib/girepository-1.0${GI_TYPELIB_PATH:+:}$GI_TYPELIB_PATH"
export GUIX_PYTHONPATH="${GUIX_PROFILE:-/gnu/store/qij79rxcr8jpjzh1rqv63ckajvivdxfn-profile}/lib/python3.9/site-packages${GUIX_PYTHONPATH:+:}$GUIX_PYTHONPATH"
--8<---------------cut here---------------end--------------->8---

Well, I do not know where does the issue come from.  From my
understanding, the issue is potentially because GI_TYPELIB_PATH.

Compare:

--8<---------------cut here---------------start------------->8---
$ ls /usr/lib/girepository-1.0/
AccountsService-1.0.typelib  PackageKitGlib-1.0.typelib  UnityExtras-7.0.typelib
AppIndicator3-0.1.typelib    Unity-7.0.typelib

$ ls ~/.config/guix/profiles/python/lib/girepository-1.0
cairo-1.0.typelib       GIRepository-2.0.typelib  Vulkan-1.0.typelib
DBus-1.0.typelib        GL-1.0.typelib            win32-1.0.typelib
DBusGLib-1.0.typelib    GLib-2.0.typelib          xfixes-4.0.typelib
fontconfig-2.0.typelib  GModule-2.0.typelib       xft-2.0.typelib
freetype2-2.0.typelib   GObject-2.0.typelib       xlib-2.0.typelib
Gio-2.0.typelib         libxml2-2.0.typelib       xrandr-1.3.typelib
--8<---------------cut here---------------end--------------->8---

And note that ’python-scipy’ propagates X11, for some reasons.

--8<---------------cut here---------------start------------->8---
$ ls -1 ~/.config/guix/profiles/python/lib/ | grep X11
libX11.la
libX11.so
libX11.so.6
libX11.so.6.4.0
libX11-xcb.la
libX11-xcb.so
libX11-xcb.so.1
libX11-xcb.so.1.0.0
--8<---------------cut here---------------end--------------->8---

Cheers,
simon