Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add wrapper generation to CI builds #86

Merged
merged 2 commits into from
Jan 5, 2023

Conversation

mrbean-bremen
Copy link
Contributor

@mrbean-bremen mrbean-bremen commented Jan 4, 2023

No checks are currently made that the wrappers are generated correctly, but the generator output can be checked for problems. Note that the generator for 5.15 still has a lot of warnings and generates less wrappers compared to 5.11 (running on gcc7).
For comparison the number of wrappers generated as logged by the generator:

Qt version Build on Nr wrappers
5.9 CentOS image 723
5.11 GCC 7 image 820
5.12 local build 836
5.15 GCC 11 image 698

@he-hesce
Copy link
Contributor

he-hesce commented Jan 4, 2023

It should be noted that Ubuntu 20.04 LTS (supported until April 2025) uses Qt 5.12. So ensuring PythonQt works with 5.9, 5.12, 5.15 would be nice.

Also, CentOS 7/8/9 and Ubuntu 18.04/20.04/22.04 offers QtWebKit as supported package even though Qt company no longer supports it (since Qt 5.7). QtWebKit is developed and supported by the old developer of it and open-source team. It would be cool if the pre-generated headers shipping with PythonQt did include the QtWebKit interface. This could be done by ensuring QtWebKit package is installed on the corresponding platform before generating the interface files.

@he-hesce
Copy link
Contributor

he-hesce commented Jan 4, 2023

Common long-term support production platforms in active support window:

  • RHEL/CentOS 7: Qt 5.9, Python 2.7, gcc 4.8 - EOL 30 June 2026
  • RHEL/Rocky 8: Qt 5.15, Python 3.6, gcc 8.5 - EOL 31 May 2031
  • RHEL/Rocky 9: Qt 5.15, Python 3.9, gcc 11.3 - EOL 31 May 2034
  • Ubuntu 20.04 LTS: Qt 5.12, Python 3.8, gcc 9.4 - EOL April 2025
  • Ubuntu 22.04 LTS: Qt 5.15, Python 3.10, gcc 11.3 - EOL April 2027

@he-hesce
Copy link
Contributor

he-hesce commented Jan 4, 2023

As for qmake, referenced in issue linked above, it would indeed be great as you say to keep qmake support for Qt 5 as I am sure many projects using Qt 5 will not switch build system when nothing is broken (and changing build system is major work). Qt 5.15 will continue to be used for at least another decade or longer given its active support window on production/enterprise platforms. Neither RH nor Canonical is shipping a long-term supported distribution with Qt 6 yet.

@mrbean-bremen
Copy link
Contributor Author

I was going to replace the GCC images with standard Ubuntu images anyway, so this will replace Qt 5.11 with Qt 5.12.
Leaving qmake support for Qt 5 is just a matter of not removing the pri/pro/prf files, so this should not be a big deal.

As for QtWebKit - you could make a PR that adds it at least to the CI images - you probably know how to install it under CentOS and Ubuntu.

@mrbean-bremen mrbean-bremen force-pushed the generate branch 4 times, most recently from 013e0ea to 33daff9 Compare January 5, 2023 08:19
@he-hesce
Copy link
Contributor

he-hesce commented Jan 5, 2023

I could clone the latest code and look into a full PR. However, it would be a one-liner installing the package. The package is qt5-qtwebkit-devel on RHEL/CentOS/Rocky (from EPEL) and libqt5webkit5-dev on Ubuntu.

So

yum install -y epel-release
yum install -y qt5-qtwebkit-devel

on RHEL/CentOS/Rocky, and

apt install libqt5webkit5-dev

on Ubuntu.

@mrbean-bremen
Copy link
Contributor Author

@he-hesce - thanks, I can add this to the dockerfiles!

While at this: maybe you have an idea why the Ubuntu 22.04 build currently fails? It doesn't find pydebug.h, but python3-dev is installed, and the 20.04 build succeeds with the same installed packages.

@he-hesce
Copy link
Contributor

he-hesce commented Jan 5, 2023

@mrbean-bremen: See issue #81 (22.04 has Python 3.10 while 20.04 has Python 3.8 and some header files were relocated)

@mrbean-bremen
Copy link
Contributor Author

Ah right, of course - I had somehow missed that this is the same issue... Thanks!

@mrbean-bremen mrbean-bremen force-pushed the generate branch 6 times, most recently from 1bd36ce to a74111a Compare January 5, 2023 19:52
@mrbean-bremen mrbean-bremen merged commit a93104d into MeVisLab:master Jan 5, 2023
@mrbean-bremen mrbean-bremen deleted the generate branch January 5, 2023 20:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants