[GRASS-dev] A load of updates in OSGeo4W

Edouard Choinière e.chs at outlook.com
Sun Apr 14 16:34:39 PDT 2024


Thanks a lot for the heads up!
So we’ll now be more strict with Python 3.12 syntax warnings and others. Assuring Python 3.12 compatibility was already started, but never officialized. (No responses on https://github.com/OSGeo/grass/issues/3285)

However, I launched a CI build for a PR a couple minutes ago, and usually installing the OSGeo4W packages takes about 2 minutes, now took 5min15. Is it just the server that is slower now? I was tracing with xperf this week the build process on windows CI, getting ETW files (1.6 Gb once extracted). I was trying to find out what was slow on our side, but noticed that the 2 minutes for OSGeo4W package installation wasn’t optimal: not CPU limited, not I/O limited, and not memory limited (compared to steps before and after, like msys2). I didn’t search more closely though.


That new build also fails, since it looks for Python 3.9 specifically, was there a patch that was needed for the official grass osgeo4w build?


Edouard Choinière

Le 14 avr. 2024 à 19:02, Jürgen E. Fischer via grass-dev <grass-dev at lists.osgeo.org> a écrit :

Hi there,

I just uploaded an update to OSGeo4W.   It is basically a rebuild of everything
with a newer compiler (Visual C++ 2022) and updates of almost all versions.
The update should work cleanly and cause no visual changes.

The main change is the move from Python 3.9.18 to 3.12.3.  But there's also an
update to Qt 5.15.13, OpenSSL 3.   Qt6 was also added enabling an experimental
build of QGIS master with Qt6. Based on that there is also an experimental
version of QField.

GDAL and PROJ also were updated to the latest version.

The legacy GRASS 7 was removed because it doesn't support Python 3.12.  GRASS 8
was already available and QGIS switch to it long before this update.

Please test and report.


Jürgen


More details in the commit message:

A load of updates (fixes #788, #810, #816, #819, #820, #823, closes jef-n/OSGeo4W#21, refs qgis/QGIS#54491, qgis/QGIS#56499)

Highlights:
 Switched to Visual Studio 2022
 Qt6 6.6.3, PyQt6 6.6.1
 Qt5 5.15.13, PyQt5 5.15.10
 Python 3.12.3
 OpenSSL 3.0.13
 PROJ 9.4.0
 GDAL 3.8.5
 qgis-qt6-dev based on Qt6 next to qgis-dev based on Qt5
 experimental QField based on Qt6 / qgis-qt6-dev

Details:
 Removed:
   libjpeg (already replaced with libjpeg-turbo earlier)
   python3-clcache (replaced by ccache)
   python3-pyuv (dependency of python3-clcache)

 Updated:
   apache 2.4.52 -> 2.4.58
   arrow-cpp 7.0.0 -> 15.0.2
   boost 1.74.0 -> 1.84.0
   brotli 1.0.9 -> 1.1.0
   curl 8.4.0 -> 8.6.0
   draco 1.5.6 -> 1.5.7
   exiv2 0.27.3 -> 0.28.2
   expat 2.2.10 -> 2.6.2
   ffmpeg 5.1 -> 6.1.1
   freetype 2.10.2 -> 2.13.2
   gdal 3.8.4 -> 3.8.5
   gpsbabel 1.8.0 -> 1.9.0
   grass 7.8.8 -> 8.3.2
   grass8 8.3.2 -> 99 (transitional; depends on grass)
   gsl 2.6 -> 2.7.1+
   hdf4 4.2.16 -> 4.3.0
   hdf5 1.14.0 -> 1.14.3
   kealib 1.4.14 -> 1.5.3
   lerc 3.0 -> 4.0.0
   libharu 2.3.0 -> 2.4.4
   libiconv 1.16 -> 1.17
   libjpeg-turbo 2.0.7-esr -> 3.0.2
   libjxl 0.8.1 -> 0.10.2
   libmysql 8.0.21 -> 8.2.0
   libosmium-devel 2.18.0 -> 2.20.0
   libpng 1.6.37 -> 1.6.43
   libtiff 4.5.1 -> 4.6.0
   libxml2 2.9.10 -> 2.12.5
   libxslt 1.1.34 -> 1.1.39
   libzip 1.7.3 -> 1.10.1
   lua 5.4.4 -> 5.4.6
   lz4 1.9.3 -> 1.9.4
   minizip-ng-devel 3.0.2 -> 4.0.4
   node 16.14.0 -> 20.11.1
   oci 19.11 -> 21.13
   ogdi 4.1.0 -> 4.1.1
   opencl 2.0.10 -> 2023.12.14
   openfyba-devel 20150103 -> 20240408
   openjpeg 2.4.0 -> 2.5.2
   openssl 1.1.1w -> 3.0.13
   osm2pgsql 1.8.1 -> 1.11.0
   osmium 1.15.0 -> 1.16.0
   pdal 2.6.0 -> 2.6.3
   poppler 23.07.0 -> 24.04.0
   proj 9.3.1 -> 9.4.0
   proj-data 1.16 -> 1.17
   python3 3.9.18 -> 3.12.3
   protobuf-devel 3.13.0 -> 25.3
   qca 2.3.1 -> 2.3.8
   qscintilla 2.13.4 -> 2.14.1
   qt5 5.15.3 -> 5.15.13
   qtkeychain 0.13.2 -> 0.14.2
   qwc2 20220311-671a6e7 -> 20240408-3d95409
   qwt 6.1.6 -> 6.2.0
   saga 7.8.2 -> 9.3.1
   saga9 9.2.0 -> 99 (transitional; depends on saga)
   snappy-devel 1.1.9 -> 1.1.10
   spdlog-devel 1.10.0 -> 1.13.0
   sqlite3 3.41.1 -> 3.45.1
   swig 4.0.2 -> 4.2.1
   thrift 0.16.0 -> 0.20.0
   transifex-cli 1.6.5 -> 1.6.10
   utf8proc 2.7.0 -> 2.9.0
   wxwidgets 3.2.1 -> 3.2.4
   xerces-c 3.2.3 -> 3.2.5
   xz 5.2.5 -> 5.4.5
   yarnpkg 1.22.17 -> 1.22.21
   zlib 1.2.12 -> 1.3.1
   zstd 1.4.5 -> 1.5.5

 Updated Python extensions:
   python3-access 1.1.1 -> 1.1.9
   python3-affine 2.3.0 -> 2.4.0
   python3-alabaster 0.7.12 -> 0.7.16
   python3-argon2-cffi 20.1.0 -> 23.1.0
   python3-atomicwrites 1.4.0 -> 1.4.1
   python3-attrdict 2.0.1 -> python3-attrdict3 2.0.2
   python3-attrs 20.2.0 -> 23.2.0
   python3-autopep8 2.0.1 -> 2.1.0
   python3-babel 2.8.0 -> 2.14.0
   python3-backports.entry-points-selectable 1.1.0 -> 1.3.0
   python3-beautifulsoup4 4.9.3 -> 4.12.3
   python3-bleach 3.2.1 -> 6.1.0
   python3-certifi 2020.6.20 -> 2024.2.2
   python3-cffi 1.14.3 -> 1.16.0
   python3-cftime 1.2.1 -> 1.6.3
   python3-chardet 3.0.4 -> 5.2.0
   python3-click 7.1.2 -> 8.1.7
   python3-cligj 0.7.0 -> 0.7.2
   python3-colorama 0.4.4 -> 0.4.6
   python3-coverage 5.3 -> 7.4.4
   python3-cycler 0.10.0 -> 0.12.1
   python3-decorator 4.4.2 -> 5.1.1
   python3-defusedxml 0.6.0 -> 0.7.1
   python3-distlib 0.3.2 -> 0.3.8
   python3-docutils 0.16 -> 0.20.1
   python3-entrypoints 0.3 -> 0.4
   python3-esda 2.3.1 -> 2.5.1
   python3-exifread 2.3.2 -> 3.0.0
   python3-filelock 3.0.12 -> 3.13.3
   python3-fiona 1.9.5 -> 1.9.6
   python3-fonttools 4.28.5 -> 4.51.0
   python3-future 0.18.2 -> 1.0.0
   python3-gdal 3.8.4 -> 3.8.5
   python3-geoalchemy2 0.12.5 -> 0.14.7
   python3-geographiclib 1.50 -> 2.0
   python3-geopandas 0.14.1 -> 0.14.3
   python3-giddy 2.3.3 -> 2.3.5
   python3-greenlet 1.1.1 -> 3.0.3
   python3-h5py 3.8.0 -> 3.10.0
   python3-httplib2 0.18.1 -> 0.22.0
   python3-idna 2.10 -> 3.6
   python3-imagesize 1.2.0 -> 1.4.1
   python3-importlib-metadata 2.0.0 -> 7.1.0
   python3-inequality 1.0.0 -> 1.0.1
   python3-iniconfig 1.1.1 -> 2.0.0
   python3-ipykernel 5.3.4 -> 6.29.4
   python3-ipython 7.18.1 -> 8.23.0
   python3-ipywidgets 7.5.1 -> 8.1.2
   python3-isort 5.12.0 -> 5.13.2
   python3-jedi 0.17.2 -> 0.19.1
   python3-jinja2 3.1.2 -> 3.1.3
   python3-joblib 0.17.0 -> 1.3.2
   python3-jsonschema 3.2.0 -> 4.21.1
   python3-jupyter-client 6.1.7 -> 8.6.1
   python3-jupyter-console 6.2.0 -> 6.6.3
   python3-jupyter-core 4.6.3 -> 5.7.2
   python3-jupyterlab-pygments 0.1.2 -> 0.3.0
   python3-kiwisolver 1.2.0 -> 1.4.5
   python3-libpysal 4.3.0 -> 4.10
   python3-llvmlite 0.34.0 -> 0.42.0
   python3-lxml 4.6.2 -> 5.2.1
   python3-mapclassify 2.3.0 -> 2.6.1
   python3-markupsafe 1.1.1 -> 2.1.5
   python3-matplotlib 3.5.1 -> 3.8.4
   python3-mgwr 2.1.2 -> 2.2.1
   python3-mistune 0.8.4 -> 3.0.2
   python3-mock 4.0.2 -> 5.1.0
   python3-mod-wsgi 4.9.0 -> 5.0.0
   python3-mpmath 1.1.0 -> 1.3.0
   python3-munch 2.5.0 -> 4.0.0
   python3-nbclient 0.5.1 -> 0.10.0
   python3-nbconvert 6.0.7 -> 7.16.3
   python3-nbformat 5.0.8 -> 5.10.4
   python3-nest-asyncio 1.4.2 -> 1.6.0
   python3-netcdf4 1.6.3 -> 1.6.5
   python3-networkx 2.5 -> 3.3
   python3-nltk 3.5 -> 3.8.1
   python3-nose2 0.9.2 -> 0.14.1
   python3-notebook 6.1.4 -> 7.1.2
   python3-numba 0.51.2 -> 0.59.0
   python3-numpy 1.24.1 -> 1.26.4
   python3-openpyxl 3.0.9 -> 3.1.2
   python3-osmium 3.4.1 -> 3.7.0
   python3-owslib 0.29.2 -> 0.30.0
   python3-packaging 20.4 -> 24.0
   python3-pandas 2.0.2 -> 2.2.1
   python3-pandocfilters 1.4.3 -> 1.5.1
   python3-parso 0.8.0 -> 0.8.4
   python3-patsy 0.5.1 -> 0.5.6
   python3-pbr 5.5.1 -> 6.0.0
   python3-pdal-plugins 1.2.1 -> 1.3.0
   python3-pillow 10.0.1 -> 10.3.0
   python3-pirogue 1.2.5 -> 1.4.2
   python3-platformdirs 2.0.2 -> 4.2.0
   python3-plotly 4.12.0 -> 5.20.0
   python3-pluggy 0.13.1 -> 1.4.0
   python3-pointpats 2.2.0 -> 2.4.0
   python3-prometheus-client 0.8.0 -> 0.20.0
   python3-prompt-toolkit 3.0.8 -> 3.0.43
   python3-psycopg 3.1.9 -> 3.1.18
   python3-psycopg2-binary 2.9.3 -> 2.9.9
   python3-pum 0.9.12 -> 0.10.0
   python3-py 1.9.0 -> 1.11.0
   python3-pybind11 2.6.2 -> 2.12.0
   python3-pycparser 2.20 -> 2.22
   python3-pygments 2.7.2 -> 2.17.2
   python3-pymemcache 3.4.0 -> 4.0.0
   python3-pyodbc 4.0.30 -> 5.1.0
   python3-pyopengl 3.1.5 -> 3.1.7
   python3-pyparsing 2.4.7 -> 3.1.2
   python3-pyqt-builder 1.10.3 -> 1.16.0
   python3-pyqt5 5.15.4 -> 5.15.10
   python3-pyqt5-sip 12.8.1 -> 12.13.0
   python3-pyqtwebengine 5.15.5 -> 5.15.6
   python3-pyrsistent 0.17.3 -> 0.20.0
   python3-pysal 2.3.0 -> 24.1
   python3-pytest 6.1.2 -> 8.1.1
   python3-pytest-cov 2.10.1 -> 5.0.0
   python3-python-dateutil 2.8.1 -> 2.9.0.post0
   python3-pythonqwt 0.8.3 -> 0.12.1
   python3-pytz 2023.3 -> 2024.1
   python3-pywinpty 0.5.7 -> 2.0.13
   python3-pyyaml 5.3.1 -> 6.0.1
   python3-pyzmq 19.0.2 -> 25.1.2
   python3-qscintilla 2.13.4 -> 2.14.1
   python3-qtconsole 4.7.7 -> 5.5.1
   python3-qtpy 1.9.0 -> 2.4.1
   python3-quantecon 0.4.8 -> 0.7.2
   python3-rasterstats 0.15.0 -> 0.19.0
   python3-regex 2020.10.28 -> 2023.12.25
   python3-reportlab 4.0.4 -> 4.1.0
   python3-requests 2.24.0 -> 2.31.0
   python3-retrying 1.3.3 -> 1.3.4
   python3-rtree 0.9.4 -> 1.2.0
   python3-scikit-learn 0.23.2 -> 1.4.1.post1
   python3-scipy 1.10.1 -> 1.13.0
   python3-seaborn 0.11.0 -> 0.13.2
   python3-segregation 1.4.0 -> 2.5
   python3-send2trash 1.5.0 -> 1.8.3
   python3-setuptools 67.6.0 -> 69.2.0
   python3-shapely 2.0.2 -> 2.0.3
   python3-simplejson 3.17.2 -> 3.19.2
   python3-sip 6.1.1 -> 6.8.3
   python3-six 1.15.0 -> 1.16.0
   python3-snowballstemmer 2.0.0 -> 2.2.0
   python3-soupsieve 2.0.1 -> 2.5
   python3-spaghetti 1.5.3 -> 1.7.5.post1
   python3-spglm 1.0.8 -> 1.1.0
   python3-sphinx 3.3.0 -> 7.2.6
   python3-splot 1.1.3 -> 1.1.5.post1
   python3-spreg 1.1.2.post1 -> 1.4.2
   python3-sqlalchemy 1.4.42 -> 2.0.29
   python3-statsmodels 0.14.0 -> 0.14.1
   python3-sympy 1.6.2 -> 1.12
   python3-terminado 0.9.1 -> 0.18.1
   python3-testpath 0.4.4 -> 0.6.0
   python3-threadpoolctl 2.1.0 -> 3.4.0
   python3-tobler 0.4.0 -> 0.11.2
   python3-toml 0.10.1 -> 0.10.2
   python3-torch 2.2.1 -> 2.2.2
   python3-tornado 6.0.4 -> 6.4
   python3-tqdm 4.51.0 -> 4.66.2
   python3-traitlets 5.0.5 -> 5.14.2
   python3-typing-extensions 4.5.0 -> 4.11.0
   python3-tzdata 2023.3 -> 2024.1
   python3-urllib3 1.25.11 -> 2.2.1
   python3-virtualenv 20.5.0 -> 20.25.1
   python3-wcwidth 0.2.5 -> 0.2.13
   python3-wheel 0.35.1 -> 0.43.0
   python3-widgetsnbextension 3.5.1 -> 4.0.10
   python3-xlrd 1.2.0 -> 2.0.1
   python3-zipp 3.4.0 -> 3.18.1

 Just rebuilt with VS2022:
   api-ms-win-core-path-HACK 0.0.1
   avce00 2.0.0
   base 1.0.0
   bzip2-devel 1.0.8
   cairo 1.17.2
   entwine 3.0.0
   fcgi 2.4.2
   freexl 2.0.0
   geos 3.12.1
   gs 10.02.1
   icu 67.1
   imposm3 0.11.1
   laszip 3.4.3
   libgeotiff 1.7.1
   libkml-devel 1.3.0
   liblas 1.8.1
   libpq 16.2
   librttopo 1.1.0
   libspatialindex 1.9.3
   libspatialite 5.1.0
   libwebp 1.3.2
   mod_fcgid 2.3.10
   netcdf 4.9.2
   odbc-cpp-wrapper 1.1
   pcraster 4.4.1
   protozero-devel 1.7.1
   qgis 3.36.1
   qgis-ltr 3.34.5
   qtwebkit 5.212.0-alpha4
   qwc-services 1.3.4
   setup 1.1.2
   shell 99.0.0
   szip 2.1.1
   tiledb 2.8.2
   wingetopt-devel 1.00

 Repackaged/rebuilt for Python 3.12
   python3-async-generator 1.10
   python3-backcall 0.2.0
   python3-click-plugins 1.1.1
   python3-descartes 1.1.0
   python3-et-xmlfile 1.1.0
   python3-ipython-genutils 0.2.0
   python3-jupyter 1.0.0
   python3-mapproxy 2.0.2
   python3-mypy-extensions 1.0.0
   python3-pdal 3.2.3
   python3-pickleshare 0.7.5
   python3-pip 24.0
   python3-ply 3.11
   python3-pypdf2 3.0.1
   python3-pypiwin32 223
   python3-pyproj 3.6.1
   python3-pypubsub 3.3.0
   python3-pyserial 3.5
   python3-pytoml 0.1.21
   python3-pywin32 306
   python3-rasterio 1.3.9
   python3-remotior-sensus 0.3.5
   python3-snuggs 1.4.7
   python3-spint 1.0.7
   python3-spvcm 0.3.0
   python3-tomli 2.0.1
   python3-webencodings 0.5.1
   python3-wxpython 4.2.1
   python3-xlwt 1.3.0

 Added:
   grass7 99 (transitional; depends on grass(8); grass 7 doesn't support python 3.12)
   podofo 0.10.3
   qca-qt6 2.3.8
   qgis-qt6-dev (master based on Qt6)
   qscintilla-qt6 2.14.1
   qt6 6.6.3
   qtkeychain-qt6 0.14.2
   qwt-qt6 6.2.0
   uriparser-devel 0.9.7
   saga7 7.9.1 (old saga, just in case)
   qfield-dev 3.2.2 (experimental; depends on very heady qgis-qt6-dev; TODO split the latter to minimize qfield dependencies)
   poly2tri-devel 20240411 (qfield dependency)
   zxing-cpp-devel 2.2.1 (qfield dependency)

 Added python extensions:
   python3-anyio 4.3.0
   python3-argon2-cffi-bindings 21.2.0
   python3-asttokens 2.4.1
   python3-async-lru 2.0.4
   python3-charset-normalizer 3.3.2
   python3-comm 0.2.2
   python3-contourpy 1.2.1
   python3-debugpy 1.8.1
   python3-deprecation 2.1.0
   python3-duckdb 0.10.1
   python3-executing 2.0.1
   python3-fastjsonschema 2.19.1
   python3-fsspec 2024.3.1
   python3-h11 0.14.0
   python3-httpcore 1.0.5
   python3-httpx 0.27.0
   python3-json5 0.9.24
   python3-jsonschema-specifications 2023.12.1
   python3-jupyter-events 0.10.0
   python3-jupyter-lsp 2.2.5
   python3-jupyter-server 2.13.0
   python3-jupyter-server-terminals 0.5.3
   python3-jupyterlab 4.1.5
   python3-jupyterlab-server 2.26.0
   python3-jupyterlab-widgets 3.0.10
   python3-matplotlib-inline 0.1.6
   python3-maturin 1.5.1
   python3-momepy 0.7.0
   python3-notebook-shim 0.2.4
   python3-overrides 7.7.0
   python3-pathspec 0.12.1
   python3-psutil 5.9.8
   python3-psycopg2 2.9.9
   python3-pulp 2.8.0
   python3-pure-eval 0.2.2
   python3-pyarrow 15.0.2
   python3-pycodestyle 2.11.1
   python3-pyqt6 6.6.1
   python3-pyqt6-qscintilla 2.14.1
   python3-pyqt6-sip 13.6.0
   python3-python-json-logger 2.0.7
   python3-referencing 0.34.0
   python3-rfc3339-validator 0.1.4
   python3-rfc3986-validator 0.1.1
   python3-rpds-py 0.18.0
   python3-sniffio 1.3.1
   python3-sphinxcontrib-applehelp 1.0.8
   python3-sphinxcontrib-devhelp 1.0.6
   python3-sphinxcontrib-htmlhelp 2.0.5
   python3-sphinxcontrib-jsmath 1.0.1
   python3-sphinxcontrib-qthelp 1.0.7
   python3-sphinxcontrib-serializinghtml 1.1.10
   python3-spopt 0.6.0
   python3-stack-data 0.6.3
   python3-tenacity 8.2.3
   python3-tinycss2 1.2.1
   python3-websocket-client 1.7.0

Other changes:
* acceptable licenses updated
* switch to VS2022
* add bootstrap.cmd to
* invoke installation of cygwin base,
* clone the repo
* build everything
* build process installs necessary tools if necessary
* vs2022
* debug tools (for dbghelp.dll)
* cmake
* ninja
* ccache (supports msvc now)
* enables long paths on build (for Qt6 / webengine / chromium)
* cleanups
* PACKAGES added to package.sh to list produced packages
* devenv replaced with msbuild
* Update of ECWJP2SDKSetup_5.5.0.2268-Update4-Windows.zip not automatically
 downloadable anymore (place in src/gdal/osgeo4w/gdaldeps and
 src/gdal-dev/osgeo4w/gdaldeps)

--
Jürgen E. Fischer           norBIT GmbH             Tel. +49-4931-918175-31
Dipl.-Inf. (FH)             Rheinstraße 13          Fax. +49-4931-918175-50
Software Engineer           D-26506 Norden            https://www.norbit.de
QGIS release manager (PSC)  Germany                 IRC: jef on Libera|OFTC
_______________________________________________
grass-dev mailing list
grass-dev at lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/grass-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/grass-dev/attachments/20240414/110b7e1d/attachment-0001.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/octet-stream
Size: 849 bytes
Desc: signature.asc
URL: <http://lists.osgeo.org/pipermail/grass-dev/attachments/20240414/110b7e1d/attachment-0001.obj>


More information about the grass-dev mailing list