Uploaded image for project: 'Couchbase Python Client Library'
  1. Couchbase Python Client Library
  2. PYCBC-520

Installation should be more intelligent regarding LCB requirements

    XMLWordPrintable

Details

    • Improvement
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • 2.5.3
    • library
    • None
    • 1

    Description

      Python 2.4.0 onwards relies on Libcouchbase 2.9.0+, if you try to install Python 2.4.0 with an earlier Libcouchbase you get warnings about crypto methods:

       src/crypto.c: In function 'pycbc_crypto_exc_wrap_v1_encrypt':
        src/crypto.c:708:42: error: 'union <anonymous>' has no member named 'v1'; did you mean 'v0'?
                 lcb_result = orig_lcb_provider->v.v1.encrypt(orig_lcb_provider,
                                                  ^
        src/crypto.c: In function 'pycbc_crypto_exc_wrap_v1_decrypt':
        src/crypto.c:742:42: error: 'union <anonymous>' has no member named 'v1'; did you mean 'v0'?
                 lcb_result = orig_lcb_provider->v.v1.decrypt(orig_lcb_provider,
                                                  ^
      

      These errors are pretty cryptic unless you're in the know about what features were added to which SDK when.

      It would be a much better experience for everyone if any time we had to bump the minimum libcouchbase dependency we could have some installation-level check saying something like:

      Libcouchbase 2.9.0 required, version 2.8.2 found. Please update libcouchbase to a later version before installing this version of the Python SDK.

      This is a clear error message for the user, with clear instructions for how to resolve their issue.

      As an aside https://developer.couchbase.com/server/other-products/release-notes-archives/python-sdk does not cover the need for a minimum version of Libcouchbase.

      Attachments

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

        Activity

          glane Greg Lane added a comment -

          Yes this type of notification or update of the documentation would very useful so as to not waste hours of our time trying to resolve package issues. Adding in a simple readme to the package or even putting something in the requirments.txt, which is currently empty.

          glane Greg Lane added a comment - Yes this type of notification or update of the documentation would very useful so as to not waste hours of our time trying to resolve package issues. Adding in a simple readme to the package or even putting something in the requirments.txt, which is currently empty.

          Totally agree Greg Lane, added PYCBC-558.

          ingenthr Matt Ingenthron added a comment - Totally agree Greg Lane , added PYCBC-558 .

          People

            Ellis.Breen Ellis Breen
            matt.carabine Matt Carabine
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes

                PagerDuty