Created attachment 789395 [details, diff] Patch to fix the problem dev-python/pyaudio-0.2.11-r1 throws SystemError: PY_SSIZE_T_CLEAN macro must be defined for '#' formats with Python 3.10 There is an existing patch at git.skeh.site/skeh/pyaudio/commit/2ee560056ec889ea7cd3ce1801b796b0939dd540 That resolve this problem (can be downloaded under the "Diff Options" button) I have also attached it for convenience. Here is a sample code highlighting the error: import pyaudio p = pyaudio.PyAudio() def callback(in_data, frame_count, time_info, status): return (in_data, pyaudio.paContinue) stream = p.open(format=pyaudio.paInt16, channels = 2, rate = 44100, frames_per_buffer = 1024, input = True, stream_callback=callback) stream.stop_stream() # crash here stream.close()
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8718d02e1cad7bfa1dfecc952b6a403ea155c8bc commit 8718d02e1cad7bfa1dfecc952b6a403ea155c8bc Author: Sam James <sam@gentoo.org> AuthorDate: 2022-07-02 12:57:57 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2022-07-02 13:00:23 +0000 dev-python/pyaudio: fix Python 3.10 compatibility Closes: https://bugs.gentoo.org/855626 Signed-off-by: Sam James <sam@gentoo.org> .../files/pyaudio-0.2.11-python310-size_t.patch | 28 +++++++++++++++ dev-python/pyaudio/pyaudio-0.2.11-r2.ebuild | 42 ++++++++++++++++++++++ 2 files changed, 70 insertions(+)