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

conda/Linux: Bad PySide6 runpath causes dependency problem

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • P3: Somewhat important
    • 6.5.0, 6.4.3
    • 6.1.1
    • PySide
    • None
    • This appears only to be a problem under Linux. We use Ubuntu and have that as the only data point, but it has appeared on multiple Ubuntu installs. No trouble on the Mac
    • Linux/Other display system
    • 06e7cb7d61e6ef7bbd073b85cbf8d5e324e242c6

    Description

      The following steps reproduce the problem:

      $ conda create -n krbfail python cmake

      $ conda activate krbfail

      $ pip install PySide6

      $ python -c "from PySide6 import QtCore"
       
      Here are our findings from this:

      • conda install cmake installs krb5 as a dependency (libs go into conda environment)
      • pip install PySide6 installs a QtCore.abi3.so with a RUNPATH value that IMO is broken.
      • from PySide6 import QtCore only looks for libgssapi_krb5.so in the Qt/lib folder because of its broken RUNPATH (it should have a relative path to play well with other conda packages).
      • It does not find that library there, and so falls back on the system version of the library.
      • libgssapi_krb5.so looks for libkrb5.so using the python RUNPATH, which leads it to the conda-forge one.
      • The compiler options used for the system krb5 and the conda-forge krb5 do not match; python is now using one from each.
      • Undefined symbol ensues.

      Attachments

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

        Activity

          People

            crmaurei Cristian Maureira-Fredes
            moosh Michael Kurtinitis
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes