#2412 closed defect (fixed)

GRASS Toolbars empty after update to 8.2.1

Reported by: kalxas Owned by: osgeolive@…
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)

Screenshot_build32.png (21.9 KB ) - added by kalxas 22 months ago.
Screenshot_alpha2.png (28.8 KB ) - added by kalxas 22 months ago.
Screenshot_versions.png (44.9 KB ) - added by kalxas 22 months ago.
Screenshot_warning.png (68.3 KB ) - added by kalxas 22 months ago.
grass_gis_gui_console_error_message.png (180.4 KB ) - added by kalxas 22 months ago.
grass821_with_fixed_icons.png (50.3 KB ) - added by neteler 21 months ago.
GRASS GIS 8.2.1 with fixed icons after wxpython patch

Download all attachments as: .zip

Change History (19)

by kalxas, 22 months ago

Attachment: Screenshot_build32.png added

by kalxas, 22 months ago

Attachment: Screenshot_alpha2.png added

comment:1 by neteler, 22 months ago

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:

  • run g.version -rge in a GRASS GIS terminal session
  • run python3 -c "import sys, wx; print(sys.version); print(wx.version())" to print the Python and wxPython version numbers

by kalxas, 22 months ago

Attachment: Screenshot_versions.png added

by kalxas, 22 months ago

Attachment: Screenshot_warning.png added

comment:4 by kalxas, 22 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).

comment:5 by kalxas, 22 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:6 by kalxas, 22 months ago

Downgraded to GRASS 8.2.0 along with PDAL 2.3.0. build33 is fine.

comment:7 by kalxas, 22 months ago

Resolution: wontfix
Status: newclosed

comment:8 by neteler, 21 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 neteler, 21 months ago

GRASS GIS 8.2.1 with fixed icons after wxpython patch

comment:9 by neteler, 21 months ago

Resolution: wontfix
Status: closedreopened

I have solved it now by patching wxpython:

GRASS GIS 8.2.1 with fixed icons after wxpython patch

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:11 by kalxas, 21 months ago

Thanks for the patch Markus, I will try to apply to the wxpython package and report back.

comment:13 by kalxas, 21 months ago

Resolution: fixed
Status: reopenedclosed

Confirmed fixed in build38

Note: See TracTickets for help on using tickets.