Skip to content

squid: do_cmake: use Python 3.12 on ubuntu >= 24#67187

Closed
djgalloway wants to merge 1 commit intoceph:squidfrom
djgalloway:wip-74733
Closed

squid: do_cmake: use Python 3.12 on ubuntu >= 24#67187
djgalloway wants to merge 1 commit intoceph:squidfrom
djgalloway:wip-74733

Conversation

@djgalloway
Copy link
Copy Markdown
Contributor

@djgalloway djgalloway commented Feb 3, 2026

the "official" Python shipped along with Ubuntu 24.04 (Noble Numbat) is Python 3.12. And some of our building have been upgraded to Ubuntu 24.04. But we are still using Python 3.10 on Ubuntu >= 22, this breaks the build. And CMake fails like:

CMake Error at /usr/share/cmake-3.28/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
  Could NOT find Python3 (missing: Python3_EXECUTABLE Python3_INCLUDE_DIRS
  Python3_LIBRARIES Interpreter Development Development.Module
  Development.Embed) (Required is exact version "3.10")

      Reason given by package:
          Interpreter: Wrong version for the interpreter "/bin/python3"

Call Stack (most recent call first):
  /usr/share/cmake-3.28/Modules/FindPackageHandleStandardArgs.cmake:600 (_FPHSA_FAILURE_MESSAGE)
  cmake/modules/FindPython/Support.cmake:3863 (find_package_handle_standard_args)
  cmake/modules/FindPython3.cmake:545 (include)
  CMakeLists.txt:597 (find_package)

This build failure should also happen on developers who build Ceph on Ubuntu >= 24.

In this change, we use Python 3.12 on Ubuntu >= 24

(cherry picked from commit 4df3683)

Contribution Guidelines

  • To sign and title your commits, please refer to Submitting Patches to Ceph.

  • If you are submitting a fix for a stable branch (e.g. "quincy"), please refer to Submitting Patches to Ceph - Backports for the proper workflow.

  • When filling out the below checklist, you may click boxes directly in the GitHub web UI. When entering or editing the entire PR message in the GitHub web UI editor, you may also select a checklist item by adding an x between the brackets: [x]. Spaces and capitalization matter when checking off items this way.

Checklist

  • Tracker (select at least one)
    • References tracker ticket
    • Very recent bug; references commit where it was introduced
    • New feature (ticket optional)
    • Doc update (no ticket needed)
    • Code cleanup (no ticket needed)
  • Component impact
    • Affects Dashboard, opened tracker ticket
    • Affects Orchestrator, opened tracker ticket
    • No impact that needs to be tracked
  • Documentation (select at least one)
    • Updates relevant documentation
    • No doc update is appropriate
  • Tests (select at least one)
Show available Jenkins commands

You must only issue one Jenkins command per-comment. Jenkins does not understand
comments with more than one command.

@github-actions github-actions bot added this to the squid milestone Feb 3, 2026
the "official" Python shipped along with Ubuntu 24.04 (Noble Numbat) is
Python 3.12. And some of our building have been upgraded to Ubuntu
24.04. But we are still using Python 3.10 on Ubuntu >= 22, this breaks
the build. And CMake fails like:

```
CMake Error at /usr/share/cmake-3.28/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
  Could NOT find Python3 (missing: Python3_EXECUTABLE Python3_INCLUDE_DIRS
  Python3_LIBRARIES Interpreter Development Development.Module
  Development.Embed) (Required is exact version "3.10")

      Reason given by package:
          Interpreter: Wrong version for the interpreter "/bin/python3"

Call Stack (most recent call first):
  /usr/share/cmake-3.28/Modules/FindPackageHandleStandardArgs.cmake:600 (_FPHSA_FAILURE_MESSAGE)
  cmake/modules/FindPython/Support.cmake:3863 (find_package_handle_standard_args)
  cmake/modules/FindPython3.cmake:545 (include)
  CMakeLists.txt:597 (find_package)
```

This build failure should also happen on developers who build Ceph on
Ubuntu >= 24.

In this change, we use Python 3.12 on Ubuntu >= 24

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
(cherry picked from commit 4df3683)

Fixes: https://tracker.ceph.com/issues/74733
@djgalloway djgalloway changed the title do_cmake: use Python 3.12 on ubuntu >= 24 squid: do_cmake: use Python 3.12 on ubuntu >= 24 Feb 3, 2026
@djgalloway
Copy link
Copy Markdown
Contributor Author

make check failed due to an unrelated failure. make check runs in build-with-container.py which is based on Jammy so PYBUILD still got set to 3.10.

@djgalloway
Copy link
Copy Markdown
Contributor Author

djgalloway commented Feb 3, 2026

+ MAJOR_VER=24
+ '[' 24 -ge 24 ']'
+ PYBUILD=3.12
+ ARGS+=' -DWITH_PYTHON3=3.12'

https://jenkins.ceph.com/job/ceph-api/109996/consoleFull

@tchaikov could I trouble you to take a peek at the Ceph API failure above? Do you recognize it?

@tchaikov
Copy link
Copy Markdown
Contributor

tchaikov commented Feb 4, 2026

+ MAJOR_VER=24
+ '[' 24 -ge 24 ']'
+ PYBUILD=3.12
+ ARGS+=' -DWITH_PYTHON3=3.12'

https://jenkins.ceph.com/job/ceph-api/109996/consoleFull

@tchaikov could I trouble you to take a peek at the Ceph API failure above? Do you recognize it?

@djgalloway hi David,

This is a FTBFS caused by SPDK. We're now building with a newer glibc version that provides arc4random(), and the SPDK main branch contains the fix for this issue: ceph/spdk@219245d
We bumped the SPDK submodule in 77dd002, but this change hasn't been backported to squid yet.

I created #67199 to backport this change and other fix to address this issue and probably another issue down the road. Please feel free to include it in your pull request and i will close mine.

@djgalloway djgalloway closed this Feb 4, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants