Uploaded image for project: 'Qpid Proton'
  1. Qpid Proton
  2. PROTON-958

[python] pip installed binding fails to find correct libqpid-proton.so

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Blocker
    • Resolution: Fixed
    • Affects Version/s: proton-0.9.1
    • Fix Version/s: proton-0.10
    • Component/s: python-binding
    • Labels:
      None

      Description

      The latest versions of pip keeps a cache of downloaded packages. It also caches the results of any extensions built for those packages. When a user tries to re-install (or install in a different virtualenv) a previously build package, the pre-built package is pulled from the cache and plopped into place.

      Which is all great and fast...

      ... unless your extension also builds a shared library (libqpid-proton) and sets its RPATH to it.

      This ends up with a cached _cproton.so with a RPATH pointing to the directory where the libqpid-proton.so was installed. Woe be you if that was a virtualenv that you deleted (or updated).

      This results in either "libqpid-proton.so not found" errors when importing the bindings, or symbol mismatches if the library was overwritten.

        Attachments

          Activity

            People

            • Assignee:
              kgiusti Ken Giusti
              Reporter:
              kgiusti Ken Giusti
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: