couchbase-python-client icon indicating copy to clipboard operation
couchbase-python-client copied to clipboard

Legacy CMake issue

Open realratchet opened this issue 10 months ago • 4 comments

Hello,

We are currently using the legacy client version 3.2.7 in some of our legacy projects. Following the release of CMake 4.0.0 on March 28th, we encountered an issue where couchbase==3.2.7 is no longer buildable due to the weak CMake requirement and unfortunately python build tools ignore top level build tool requirements.

I understand this may be a bit of a long shot, but would it be possible to consider cherry-picking this fix from this commit and releasing a 3.2.8 version?

While we've managed to resolve this issue internally, we believe this fix could be helpful for others who may still be facing the same issue.

I attempted to create a pull request, but it seems that GitHub doesn't allow pull requests from forks into non-base branches.

Thank you for your time and consideration!

Image

realratchet avatar Mar 31 '25 09:03 realratchet

Could you share how you resolved this issue? I'm facing the same issue currently and haven't found a solution yet.

puerile22 avatar Mar 31 '25 19:03 puerile22

Mostly following the comment in OP:

  1. Downloaded the .tar.gz file from PyPI.
  2. Extracted the archive.
  3. Modified the toml file based on the commit link.
  4. Repackaged it into a .tar.gz file.
  5. Uploaded it to a private GitLab repository.
  6. Installed it from the private package repository instead.

Alternatively, you can install directly from the .tar.gz file if you prefer not to upload it to a package repository.

Edit: Formatted the text because I was previously replying from a phone.

realratchet avatar Mar 31 '25 19:03 realratchet

HI @puerile22 / @realratchet -- I will need to ask around, but I don't know if a change to an EOL version (see EOL policy) will be possible.

Could you try the following work-around:

  • Prior to installing the Couchbase Python SDK, install a version of CMake < 4.0 from PyPI: python -m pip cmake==3.31.6
  • When installing the Couchbase SDK do python -m pip install couchbase==3.2.7 --no-build-isolation (the no-build-isolation is needed in order to pick up the previously installed cmake version)

Out of curiosity, what are the reasons holding you back from upgrading to the 4.x version of the SDK?

thejcfactor avatar Apr 01 '25 18:04 thejcfactor

Poetry does not respect project level build settings when installing packages and pip is not applicable. New SDK is not compatible with this legacy project we're attempting to deprecate. As I've said we've solved it on our end but the way it's configured right now makes the wheel unbuildable for anyone else that still depends on it too.

realratchet avatar Apr 01 '25 18:04 realratchet

Sounds like there is are a handful of paths for the legacy (and EOL'd) 3.x SDK. Unfortunately we will not be able to make any changes to the 3.x SDK. Ideally users can users can upgrade to the 4.x SDK.

thejcfactor avatar Aug 12 '25 22:08 thejcfactor

no that's fine we will maintain our own fork until we can get rid of cb altogether, mainly just asked as a courtesy in case others bump into this issue due to legacy issues

realratchet avatar Aug 13 '25 17:08 realratchet