Strategy to deal with pyqtdeploy and C++/GCC11 issues within Qt5
frans.fuerst at protonmail.com
Mon Apr 5 12:06:04 BST 2021
> > I just realized that Qt5.15.3+ will not be available for download in
> > the near future and now I wonder how to use pyqtdeploy with Qt5 and
> > GCC11+. (is that correct? I see questions about PyQt5.15.3+ but
> > Qt5.15.3 is not available here https://download.qt.io/archive/qt/5.15/
> > )
> Are you confusing PyQt and Qt version numbers?
Hm, maybe? I thought the version numbers of Qt and PyQt correspond - you can't use PyQt5.15.3 together with PyQt5.15.0, can / should you?
Since pyqtdeploy doesn't seem to provide a way to specify download locations (does it?) how would you tell pyqtdeploy to use a version of Qt that's not available for download?
> > It looks like Qt5 is not ready for GCC11, see
> > https://bugreports.qt.io/browse/QTBUG-90395
> > So on systems with GCC11 installed - and at least Fedora will be
> > shipped with GCC11 at the end of this month) or if you want to compile
> > with GCC11 for whatever reason you would have to patch Qt before
> > compiling it.
> > Is there a way to do that with pyqtdeploy? The workflow I'm currently
> > using is to download
> > qt-everywhere-src-5.15.2.tar.xz, extract it, patch it, re-compress it
> > and put it into ~/.pyqtdeploy/cache/ to be found by pyqtdeploy.
> > Is there a more straight forward way to do this?
> The "recommended" way would be to sub-class the Qt component plugin and
> re-implement the unpack_archive() method to patch the unpacked archive.
Ok, I'll give that a try.
Are there plans to cover this by pyqtdeploy in the near future? I think otherwise it would be restricted to GCC 10 and lower (at least without everyone having to modify it the way you recommended).
> > Other approaches I see (apart from not using Qt any more) are:
> > - Download, compile and use GCC 10 instead of GCC 11 (pre-installed on
> > Fedora 34+)
> > - Use docker to virtualize the building process
> > - Switch to PyQt6 (is pyqtdeploy ready for Qt6 yet?)
More information about the PyQt