Subject: bug#50105: closed (Re: bug#50105: [core-updates] Python sitecustomize issue.)

From: [email-masked] (GNU bug Tracking System)
Date: Sat, 04 Dec 2021 03:09:02 +0000

Your bug report

#50105: [core-updates] Python sitecustomize issue.

which was filed against the guix package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
50105: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=50105
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#50105: [core-updates] Python sitecustomize issue.
From: Maxim Cournoyer <[email-masked]>
To: Mathieu Othacehe <[email-masked]>
Cc: [email-masked]
Date: Fri, 03 Dec 2021 22:08:15 -0500
List-Id: <debbugs-submit.debbugs.gnu.org>

Hello,

Mathieu Othacehe <[email-masked]> writes:

> Hello Maxim,
>
>> OK, nevermind, I found that the test case was deleting the 'fix-tests'
>> build phase from glade3, and building the package.  I confirm the fix
>> works!
>
> Great, that's exactly what I was trying to test but you beat me to it
> :). I'll be afk for a month so I won't be able to confirm that I have
> the same result locally. However, this fix looks good to me.

I had forgotten to close this.  The fix has been in core-updates-frozen
for a while.

Thank you,

Maxim

Subject: [core-updates] Python sitecustomize issue.
From: Mathieu Othacehe <[email-masked]>
To: [email-masked]
Cc: Maxim Cournoyer <[email-masked]>
Date: Wed, 18 Aug 2021 11:53:07 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Hello,

I tried to upgrade glade to the 3.38.2 release on core-update and
encountered the following test issue:

--8<---------------cut here---------------start------------->8---
2/5 modules               FAIL            0.29s   killed by signal 5 SIGTRAP
>>> GLADE_MODULE_SEARCH_PATH=/home/mathieu/glade-3.38.2/build/plugins/gtk+:/home/mathieu/glade-3.38.2/build/plugins/python:/home/mathieu/glade-3.38.2/build/plugins/gjs:/home/mathieu/glade-3.38.2/tests/modules MALLOC_PERTURB_=195 GLADE_TESTING=1 GLADE_CATALOG_SEARCH_PATH=/home/mathieu/glade-3.38.2/plugins/gtk+:/home/mathieu/glade-3.38.2/plugins/python:/home/mathieu/glade-3.38.2/plugins/gjs:/home/mathieu/glade-3.38.2/tests/catalogs GLADE_PIXMAP_DIR=/home/mathieu/glade-3.38.2/data/icons GLADE_ICON_THEME_PATH=/home/mathieu/glade-3.38.2/plugins/gtk+/icons/22x22 /home/mathieu/glade-3.38.2/build/tests/modules
―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――― ✀  ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
stdout:
# random seed: R02Sd222538bc9b76b6e424ec0cb17ee887c
# GLib-GIO-DEBUG: _g_io_module_get_default: Found default implementation local (GLocalVfs) for ?gio-vfs?
Bail out! GladeUI-PYTHON-FATAL-WARNING: Error initializing Python interpreter: could not import pygobject
stderr:
Error in sitecustomize; set PYTHONVERBOSE for traceback:
ValueError: '/home/mathieu/glade-3.38.2/build/lib/python3.9/site-packages' is not in list

(/home/mathieu/glade-3.38.2/build/tests/modules:4898): GladeUI-PYTHON-WARNING **: 09:43:58.605: Error initializing Python interpreter: could not import pygobject
--8<---------------cut here---------------end--------------->8---

I think the issue here lies in the sitecustomize.py file introduced with
cb72f9a773e0931ee3758c851d96007ded034e4c.

--8<---------------cut here---------------start------------->8---
python_root = os.path.realpath(sys.executable).split('/bin/')[0]
--8<---------------cut here---------------end--------------->8---

When using the Python C library, sys.executable is not the expected
python binary but the test binary.

So when we try to find the associated libraries in the Python search
path, this way:

--8<---------------cut here---------------start------------->8---
index = sys_path_absolute.index(python_site)
sys.path = sys.path[:index] + matching_sites + sys.path[index:]
--8<---------------cut here---------------end--------------->8---

we get:

--8<---------------cut here---------------start------------->8---
ValueError: '/home/mathieu/glade-3.38.2/build/lib/python3.9/site-packages' is not in list
--8<---------------cut here---------------end--------------->8---

Running the test with the PYTHONPATH set to:

--8<---------------cut here---------------start------------->8---
PYTHONPATH=/home/mathieu/glade-3.38.2/build/lib/python3.9/site-packages:$PYTHONPATH 
--8<---------------cut here---------------end--------------->8---

is a way to work around this issue.

The fix here would be to replace sys.executable in the sitecustomize.py
with something more adequate, but I have no idea what could it be.

Thanks,

Mathieu