Skip to content

3.13 AIX build static asserts fails '(sizeof(_PyCallCache) / sizeof(_Py_CODEUNIT)) == 3': incorrect cache size #129259

Open
@rsmkaminskas

Description

@rsmkaminskas

Bug report

Bug description:

Python fails to build after starting make on AIX machines by failing asserts in many places

In file included from Python/ceval.c:782:
Python/generated_cases.c.h:2041:27: error: static assertion failed due to requirement '(sizeof(_PyCallCache) / sizeof(_Py_CODEUNIT)) == 3': incorrect cache size
 2041 |             static_assert(INLINE_CACHE_ENTRIES_CALL == 3, "incorrect cache size");
      |                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./Include/internal/pycore_code.h:157:35: note: expanded from macro 'INLINE_CACHE_ENTRIES_CALL'
  157 | #define INLINE_CACHE_ENTRIES_CALL CACHE_ENTRIES(_PyCallCache)
      |                                   ^
./Include/internal/pycore_code.h:88:30: note: expanded from macro 'CACHE_ENTRIES'
   88 | #define CACHE_ENTRIES(cache) (sizeof(cache)/sizeof(_Py_CODEUNIT))
      |                              ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.

I am just pasting the last failed assert, when the build stops. It seems that the data types' sizes do not match on the AIX machine.

CPython versions tested on:

3.13

Operating systems tested on:

Other

Metadata

Metadata

Assignees

No one assigned

    Labels

    3.13bugs and security fixes3.14bugs and security fixesOS-unsupportedbuildThe build process and cross-buildinterpreter-core(Objects, Python, Grammar, and Parser dirs)type-bugAn unexpected behavior, bug, or error

    Projects

    Status

    No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions