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

{vis}[GCCcore/10.2.0] PyQt5 v5.15.1 w/ Python 3.8.6 #11563

Merged

Conversation

Micket
Copy link
Contributor

@Micket Micket commented Oct 22, 2020

(created using eb --new-pr)

@Micket Micket added the update label Oct 22, 2020
@Micket
Copy link
Contributor Author

Micket commented Oct 22, 2020

depends on #11555

@boegel Trying to build this I get some problems;

== 2020-10-22 13:01:40,626 build_log.py:169 ERROR EasyBuild crashed with an error (at easybuild/base/exceptions.py:124 in __init__): cmd "export PATH=/apps/Vera/software/Compiler/GCCcore/10.2.0/PyQt5/5.15.1-Python-3.8.6/bin:$PATH && export PYTHONPATH=/apps/Vera/software/Compiler/GCCcore/10.2.0/PyQt5/5.15.1-Python-3.8.6/lib/python3.8/site-packages:$PYTHONPATH &&  /apps/Vera/software/Compiler/GCCcore/10.2.0/Python/3.8.6/bin/python configure.py --verbose --destdir=/apps/Vera/software/Compiler/GCCcore/10.2.0/PyQt5/5.15.1-Python-3.8.6/lib/python3.8/site-packages/PyQt5 --apidir=/apps/Vera/software/Compiler/GCCcore/10.2.0/PyQt5/5.15.1-Python-3.8.6/qsci --pyqt-sipdir=/local/EB/build/PyQt5/5.15.1/GCCcore-10.2.0-Python-3.8.6/PyQt5-5.15.1/sip --no-stubs --no-dist-info" exited with exit code 1 and output:
Error: Unable to create the C++ code.
Installing sip.h in
/local/EB/build/PyQt5/5.15.1/GCCcore-10.2.0-Python-3.8.6/PyQtWebEngine-5.15.1/include...
sip-module --sip-h --target-dir /local/EB/build/PyQt5/5.15.1/GCCcore-10.2.0-Python-3.8.6/PyQtWebEngine-5.15.1/include PyQt5.sip
Configuring PyQtWebEngine 5.15.1...
The PyQtWebEngine .sip files will be installed in
/local/EB/build/PyQt5/5.15.1/GCCcore-10.2.0-Python-3.8.6/PyQt5-5.15.1/sip.
PyQtWebEngine will be installed in
/apps/Vera/software/Compiler/GCCcore/10.2.0/PyQt5/5.15.1-Python-3.8.6/lib/python3.8/site-packages/PyQt5.
PyQt 5.15.1 is being used.
Qt 5.15.1 is being used.
sip 5.4.0 is being used.
The sip executable is
/apps/Vera/software/Compiler/GCCcore/10.2.0/PyQt5/5.15.1-Python-3.8.6/bin/sip5.
PyQtWebEngine is being built with 'protected' redefined as 'public'.
The QScintilla API file will be installed in
/apps/Vera/software/Compiler/GCCcore/10.2.0/PyQt5/5.15.1-Python-3.8.6/qsci/api/python.
Generating the C++ source for the QtWebEngine module...
/apps/Vera/software/Compiler/GCCcore/10.2.0/PyQt5/5.15.1-Python-3.8.6/bin/sip5 -I /local/EB/build/PyQt5/5.15.1/GCCcore-10.2.0-Python-3.8.6/PyQtWebEngine-5.15.1/sip -I /local/EB/build/PyQt5/5.15.1/GCCcore-10.2.0-Python-3.8.6/PyQt5-5.15.1/sip -n PyQt5.sip -t Qt_5_15_0 -t WS_X11 -x PyQt_SSL -B Qt_6_0_0 -t QtWebEngine_5_15_0 -a QtWebEngine.api -P -o -c /local/EB/build/PyQt5/5.15.1/GCCcore-10.2.0-Python-3.8.6/PyQtWebEngine-5.15.1/QtWebEngine /local/EB/build/PyQt5/5.15.1/GCCcore-10.2.0-Python-3.8.6/PyQtWebEngine-5.15.1/sip/QtWebEngine/QtWebEnginemod.sip
sip5: QWebEngineClientCertificateStore is undefined

@boegel boegel added this to the 4.x milestone Oct 22, 2020
@boegelbot

This comment has been minimized.

@easybuilders easybuilders deleted a comment from boegelbot Oct 22, 2020
@boegel
Copy link
Member

boegel commented Oct 22, 2020

Test report by @boegel
FAILED
Build succeeded for 0 out of 2 (2 easyconfigs in total)
node3401.kirlia.os - Linux centos linux 7.8.2003, x86_64, Intel(R) Xeon(R) Gold 6240 CPU @ 2.60GHz (cascadelake), Python 2.7.5
See https://gist.github.com/d67b92153cca5cf7e53e3c79655493fc for a full test report.

@zao
Copy link
Contributor

zao commented Oct 22, 2020

Test report by @zao
SUCCESS
Build succeeded for 1 out of 1 (1 easyconfigs in total)
freja - Linux Ubuntu 20.04, x86_64, Intel(R) Core(TM) i7-8700K CPU @ 3.70GHz (skylake), Python 3.8.5
See https://gist.github.com/d808004c326a63279a2c6de7cb79efd2 for a full test report.

@Micket
Copy link
Contributor Author

Micket commented Oct 22, 2020

@zao Share the build logs (perhaps both for Qt5 and PyQt5?) so that I can try to spot where it goes wrong for us?

@Micket
Copy link
Contributor Author

Micket commented Oct 22, 2020

Test report by @Micket
FAILED
Build succeeded for 1 out of 2 (1 easyconfigs in this PR)
hebbe-c1 - Linux centos linux 7.8.2003, x86_64, Intel Core Processor (Haswell, no TSX), Python 2.7.5
See https://gist.github.com/1ba889d7b1c3543d5901b4615193ba13 for a full test report.

@branfosj
Copy link
Member

This builds for me on centos 8, but fails on centos 7. I found https://wiki.qt.io/Qt_5.15.0_Known_Issues#OpenSSL whish says that Qt 5.15.0 requires OpenSSL 1.1.1. Based on this I am trying a build of Qt 5.15.1 where I have added OpenSSL 1.1.1h as a dep. Then I'll try building PyQt5.

@Micket
Copy link
Contributor Author

Micket commented Oct 22, 2020

The errors doesn't really hint towards that, but, worth a shot. I'll try with the openssl11 package under CentOS7 to see if that helps.

@zao
Copy link
Contributor

zao commented Oct 22, 2020

@branfosj
Copy link
Member

Test report by @branfosj
SUCCESS
Build succeeded for 1 out of 1 (1 easyconfigs in total)
bear-pg0206u16a.bear.cluster - Linux centos linux 8.2.2004, x86_64, Intel(R) Xeon(R) Gold 6248 CPU @ 2.50GHz (cascadelake), Python 3.6.8
See https://gist.github.com/7f4b66d02b076c33d6490ce0103df707 for a full test report.

@branfosj
Copy link
Member

Yes, sorry - there is an unexplained jump in my logic. I compared the logs of the two builds and noticed the OpenSSL difference.

centos 8:

Checking for OpenSSL Headers... yes
  OpenSSL ................................ yes
    Qt directly linked to OpenSSL ........ no
  OpenSSL 1.1 ............................ yes

centos 7

Checking for OpenSSL Headers... no
  OpenSSL ................................ no
    Qt directly linked to OpenSSL ........ no
  OpenSSL 1.1 ............................ no

I also searched for QWebEngineClientCertificateStore inside the Qt5 include directory and that got me to ${EBROOTQT5}/include/QtWebEngineCore/qwebengineclientcertificatestore.h which shows that the class definition for QWebEngineClientCertificateStore is behind a #if QT_CONFIG(ssl).

@branfosj
Copy link
Member

branfosj commented Oct 22, 2020

Test report by @branfosj
SUCCESS
Build succeeded for 1 out of 1 (1 easyconfigs in total)
bear-pg0206u03a.bear.cluster - Linux centos linux 7.8.2003, x86_64, Intel(R) Xeon(R) Gold 6248 CPU @ 2.50GHz (cascadelake), Python 3.6.8
See https://gist.github.com/72cd105475e53e4a89d0e43b5e46400c for a full test report.

Built with Qt5 that has OpenSSL 1.1.1h as a dep.

@Micket
Copy link
Contributor Author

Micket commented Oct 22, 2020

So, installing openssl11 rpm wasn't a good option. Still need to add custom link flags to Qt, so, problably just as well to add it via EB..

I also looked into the possibility of just turning off this one component, but, looks like it's the entire Qt Network module in that case (unless one goes into patching stuff, probably).

I kind of wanted to avoid this outcome since there are some painful conflicts that occur when you start linking different applications that use. I went down that rabbit hole trying to get some r-plugin linked with a newer openssl on CentOS6, and it just ended with having to rebuilt everything and att the OpenSSL dep everywhere. I wonder if we can make Qt5 statically link it and leave it out as a dep.

@smoors
Copy link
Contributor

smoors commented Oct 23, 2020

I wonder if we can make Qt5 statically link it and leave it out as a dep.

Isn't that a security issue?

@Micket
Copy link
Contributor Author

Micket commented Nov 28, 2020

Test report by @Micket
SUCCESS
Build succeeded for 1 out of 1 (1 easyconfigs in total)
vera-c1 - Linux centos linux 7.8.2003, x86_64, Intel Xeon Processor (Skylake), Python 2.7.5
See https://gist.github.com/34f6f2cb5bef9d4a45277a9b14ca91ae for a full test report.

@easybuilders easybuilders deleted a comment from boegelbot Nov 29, 2020
@easybuilders easybuilders deleted a comment from boegelbot Nov 30, 2020
@boegel boegel modified the milestones: 4.x, 4.3.2 (next release) Nov 30, 2020
Copy link
Member

@boegel boegel left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@boegel
Copy link
Member

boegel commented Nov 30, 2020

@boegelbot please test @ generoso

@boegelbot
Copy link
Collaborator

@boegel: Request for testing this PR well received on generoso

PR test command 'EB_PR=11563 EB_ARGS= /apps/slurm/default/bin/sbatch --job-name test_PR_11563 --ntasks=4 ~/boegelbot/eb_from_pr_upload_generoso.sh' executed!

  • exit code: 0
  • output:
Submitted batch job 11118

Test results coming soon (I hope)...

- notification for comment with ID 735694240 processed

Message to humans: this is just bookkeeping information for me,
it is of no use to you (unless you think I have a bug, which I don't).

@boegelbot
Copy link
Collaborator

Test report by @boegelbot
SUCCESS
Build succeeded for 1 out of 1 (1 easyconfigs in total)
generoso-c2-s-2 - Linux centos linux 8.2.2004, x86_64, Intel(R) Xeon(R) CPU E5-2667 v3 @ 3.20GHz (haswell), Python 3.6.8
See https://gist.github.com/2e456d38e54b5fdf1ca276988779f8b2 for a full test report.

@verdurin
Copy link
Member

Test report by @verdurin
SUCCESS
Build succeeded for 8 out of 8 (1 easyconfigs in total)
nuc.lan - Linux Fedora 32, x86_64, Intel(R) Core(TM) i7-8650U CPU @ 1.90GHz, Python 3.8.6
See https://gist.github.com/ac0331845e34129741e5c239f23c5dfe for a full test report.

@migueldiascosta
Copy link
Member

Test report by @migueldiascosta
SUCCESS
Build succeeded for 1 out of 1 (1 easyconfigs in total)
sms - Linux centos linux 7.6.1810, x86_64, AMD EPYC 7601 32-Core Processor (zen), Python 2.7.5
See https://gist.github.com/3245f1a18f6d4326045f0b3e7c25677a for a full test report.

@verdurin
Copy link
Member

verdurin commented Dec 1, 2020

Going in, thanks @Micket!

@verdurin verdurin merged commit 635cff6 into easybuilders:develop Dec 1, 2020
@Micket Micket deleted the 20201022131119_new_pr_PyQt55151 branch April 21, 2023 13:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants