Opened 21 months ago
Closed 20 months ago
#2412 closed defect (fixed)
GRASS Toolbars empty after update to 8.2.1
Reported by: | kalxas | Owned by: | |
---|---|---|---|
Priority: | critical | Milestone: | OSGeoLive16.0 |
Component: | OSGeoLive | Keywords: | grass |
Cc: | osgeolive@… |
Description
Earlier today I pushed the GRASS GIS 8.2.1 to nightly ppa.
The latest build32 includes this new version.
As can be seen in the screenshots, the main toolbar of the UI is now empty. I also attach the same screenshot from alpha2.
Attachments (6)
Change History (19)
by , 21 months ago
Attachment: | Screenshot_build32.png added |
---|
by , 21 months ago
Attachment: | Screenshot_alpha2.png added |
---|
comment:1 by , 21 months ago
comment:2 by , 21 months ago
The iso to test is this one:
http://download.osgeo.org/livedvd/nightly/osgeolive-nightly-build32-amd64-c2463ad-master.iso
by , 21 months ago
Attachment: | Screenshot_versions.png added |
---|
by , 21 months ago
Attachment: | Screenshot_warning.png added |
---|
comment:4 by , 21 months ago
Feedback from GRASS team:
The main difference between version 8.2.0 and 8.2.1 from a wxPython perspective is that version 8.2.1 uses the wxPython wx.aui module https://docs.wxpython.org/wx.aui.1moduleindex.html (specifically wx. aui .AuiToolBar widget), GitHub issue https://github.com/OSGeo/grass/pull/2568. And that's why the GRASS GIS GUI doesn't work properly with Python version 3.10, because wxPython version 4.0.7 contains bugs (in our case, the wxPython module is wx.aui, which is used in GRASS GIS version 8.2.1).
When you try launch GRASS GIS GUI version 8.2.1 from http://download.osgeo.org/livedvd/nightly/osgeolive-nightly-build32-amd64-c2463ad-master.iso and you switch to GRASS GIS GUI console you see error message (image with error message related with wxPython code is in the email attachment).
by , 21 months ago
Attachment: | grass_gis_gui_console_error_message.png added |
---|
comment:5 by , 21 months ago
Based on the above feedback, and given that the issue is the combination of Python 3.10 with wxPython 4.0.7, I propose we go back to GRASS 8.2.0 that was not affected (This also means going back to pdal 2.3.0). I confirmed that upcoming GRASS 8.3.0 will also be affected, so we are blocked there too.
comment:7 by , 21 months ago
Resolution: | → wontfix |
---|---|
Status: | new → closed |
comment:8 by , 20 months ago
I have checked
http://download.osgeo.org/livedvd/nightly/osgeolive-nightly-build32-amd64-c2463ad-master.iso
and Ubuntu simply packages a broken wxpython version with plenty of float()
errors:
All these have to be casted to int()
which is done in newer wxpython versions (e.g., in Fedora this has been fixed a year ago, see https://src.fedoraproject.org/rpms/python-wxpython4/c/1d5fd72dff63d62dd19b77e489d4115245d4d453?branch=rawhide and https://bugzilla.redhat.com/show_bug.cgi?id=2060854 and related, published in python-wxpython4-4.0.7-29 and later).
From https://packages.ubuntu.com/source/jammy/wxpython4.0 I cannot see which version it is precisely in Ubuntu jammy (apparently it is lacking a few float -> int fixes).
by , 20 months ago
Attachment: | grass821_with_fixed_icons.png added |
---|
GRASS GIS 8.2.1 with fixed icons after wxpython patch
comment:9 by , 20 months ago
Resolution: | wontfix |
---|---|
Status: | closed → reopened |
I have solved it now by patching wxpython:
For this, I have taken the Fedora python-wxpython4-4.0.7 SRPM, extracted the patches, filtered by wx-patches, brought into the right order by patch timestamp, applied all to the wxpython package on Ubuntu (some where already present, others missing), and eventually created a new patch by kind of cherry-picking:
https://data.neteler.org/tmp/ubuntu_jammy_wxpython4_0_7_fixes.patch
Hence to be done in OSGeo-live:
cd /usr/lib/python3/dist-packages/wx/ wget https://data.neteler.org/tmp/ubuntu_jammy_wxpython4_0_7_fixes.patch -O /tmp/ubuntu_jammy_wxpython4_0_7_fixes.patch sudo patch -p1 < /tmp/ubuntu_jammy_wxpython4_0_7_fixes.patch
Then GRASS GIS 8.2.1 (and later) comes up properly with all icons shown.
This patch should really go into https://packages.ubuntu.com/source/jammy/wxpython4.0
comment:10 by , 20 months ago
Now reported to Ubuntu: https://bugs.launchpad.net/ubuntu/+source/wxpython4.0/+bug/2012205
comment:11 by , 20 months ago
Thanks for the patch Markus, I will try to apply to the wxpython package and report back.
comment:13 by , 20 months ago
Resolution: | → fixed |
---|---|
Status: | reopened → closed |
Confirmed fixed in build38
Please check which error shows up in the GUI console.
Looks like a wxpython error.
For a better visibility, I suggest to move the report here: https://github.com/OSGeo/grass/issues
along with details about further software components:
g.version -rge
in a GRASS GIS terminal sessionpython3 -c "import sys, wx; print(sys.version); print(wx.version())"
to print the Python and wxPython version numbers