]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mgr: Define PY_SSIZE_T_CLEAN ahead of every Python.h
authorPete Zaitcev <zaitcev@redhat.com>
Wed, 15 Dec 2021 05:04:34 +0000 (23:04 -0600)
committerTim Serong <tserong@suse.com>
Tue, 23 Aug 2022 06:03:06 +0000 (16:03 +1000)
Building on Fedora 35 with Python 3.10 makes vstart to loop
forever, throwing the following message:

 Error EINVAL: SystemError: PY_SSIZE_T_CLEAN macro must be
 defined for '#' formats

I followed the hint in the following document:
 https://docs.python.org/3/c-api/intro.html

It says "recommended" to always define PY_SSIZE_T_CLEAN,
but as you can see it is actually required in our case.

Fixes: https://tracker.ceph.com/issues/53441
Signed-off-by: Pete Zaitcev <zaitcev@redhat.com>
(cherry picked from commit 389054888f2aa782f73564125ec7a1ef0212d536)

Conflicts:
src/mgr/CMakeLists.txt: trivial resolution

src/mgr/CMakeLists.txt

index 38aad299ccbdab27f32f5e5a2c3e19756dffef83..8e152e060eae09faefa75a51bd19dad84c9eea0c 100644 (file)
@@ -34,6 +34,7 @@ if(WITH_MGR)
     mgr_commands.cc
     $<TARGET_OBJECTS:mgr_cap_obj>)
   add_executable(ceph-mgr ${mgr_srcs})
+  target_compile_definitions(ceph-mgr PRIVATE PY_SSIZE_T_CLEAN)
   target_link_libraries(ceph-mgr
     osdc client heap_profiler
     global-static ceph-common