Uploaded image for project: 'Qt for Python'
  1. Qt for Python
  2. PYSIDE-599

--openssl instructions confusing

    XMLWordPrintable

    Details

    • Type: Task
    • Status: Closed
    • Priority: P2: Important
    • Resolution: Done
    • Affects Version/s: 5.6, 5.9
    • Fix Version/s: None
    • Component/s: PySide
    • Labels:
      None
    • Technical Risk:
      Normal

      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:

      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.

        Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            People

            • Assignee:
              alexandru.croitor Alexandru Croitor
              Reporter:
              fredrikaverpil Fredrik Averpil
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Gerrit Reviews

                There are no open Gerrit changes