Details
-
Task
-
Resolution: Done
-
P2: Important
-
None
-
5.6, 5.9
-
None
Description
When reading the "Getting Started" docs, it says:
--openssl=BIN: Path to OpenSSL's binary
In the build log, it says:
OpenSSL libs: [...]
There's also a footnote on the Getting Started page:
It is necessary to have OpenSSL 1.0.x to work around Qt and PySide v5.9, since there are compatibility issues with newer versions of OpenSSL (see details)"
In setup.py, Windows DLLs are specifically mentioned:
http://code.qt.io/cgit/pyside/pyside-setup.git/tree/setup.py#n45
http://code.qt.io/cgit/pyside/pyside-setup.git/tree/setup.py#n62
http://code.qt.io/cgit/pyside/pyside-setup.git/tree/setup.py#n91
Coin builds; macOS and RHEL7 builds of PySide2 specify --openssl=/usr/bin/openssl but on Windows, --openssl=C:\openssl\bin\openssl is specified:
https://testresults.qt.io/coin/integration/pyside/pyside-setup/tasks/1516889926
And when asking in the Gitter channel, @alcroito mentioned I should be pointing the argument to the "bin" folder of the OpenSSL installation (not the binary). However, on Linux, I only have /usr/bin/openssl (no bin dir)... so what does this mean?
And after he checked in on this closer, it sounded like as if --openssl should only be specified on Windows: https://gitter.im/PySide/pyside2?at=5a709c1298927d574556a909
QSsl modules – not found
Are QSsl* modules affected by OpenSSL somehow?
When I remove --openssl=/usr/bin/openssl from my macOS standalone wheel build, all QSsl* modules are missing ("not found"). So I don't believe this argument is for Windows only. EDIT: I was mistaken. Removing --openssl on macOS and Linux doesn't seem to do any difference.
Windows and macOS find the QSsl* modules:
- Windows: https://ci.appveyor.com/project/fredrikaverpil/pyside2-windows/build/1.0.137/job/ow503im8rwh4l57c#L516
- macOS: https://travis-ci.org/fredrikaverpil/pyside2-macos/jobs/335349585#L2859
But I can't make QSsl* modules get found at all on CentOS7 Linux no matter what I do... and it seems this doesn't work in Coin either:
-- Checking for QSslCertificate in QtNetwork -- not found -- Checking for QSslCipher in QtNetwork -- not found -- Checking for QSslConfiguration in QtNetwork -- not found -- Checking for QSslError in QtNetwork -- not found -- Checking for QSslKey in QtNetwork -- not found -- Checking for QSslSocket in QtNetwork -- not found
Source: see RHEL7 build in https://testresults.qt.io/coin/integration/pyside/pyside-setup/tasks/1516889926
What to do?
It’s unclear to me when or why one should point --openssl to bin/libs and if it matters if you have built Qt yourself or if you are using the downloaded precompiled Qt (from https://download.qt.io/archive/qt/)...
It's a bit confusing and I think the docs needs to be clear on when you'd want to specify --openssl and exactly what you're supposed to feed this argument on the different platforms.