### Description
Version 5.6.1 build of app_python3 in Fedora Copr fails for Rawhide (gcc-12.1 and python-3.11)
#### Build Log Messages
Full build log: https://download.copr.fedorainfracloud.org/results/amessina/mss/fedora-rawhi...
``` make[2]: Entering directory '/builddir/build/BUILD/kamailio-5.6.1/src/modules/app_python3' gcc -fPIC -DPIC -g -funroll-loops -Wcast-align -m64 -minline-all-stringops -falign-loops -ftree-vectorize -fno-strict-overflow -mtune=generic -pthread -DKSR_PTHREAD_MUTEX_SHARED -Wall -DNAME='"kamailio"' -DVERSION='"5.6.1-1.fc37"' -DARCH='"x86_64"' -DOS='linux_' -DOS_QUOTED='"linux"' -DCOMPILER='"gcc 12.1.1"' -D__CPU_x86_64 -D__OS_linux -DVERSIONVAL=5006001 -DCFG_DIR='"/etc/kamailio/"' -DSHARE_DIR='"/usr/share/kamailio/"' -DRUN_DIR='"/run/kamailio/"' -DPKG_MALLOC -DSHM_MMAP -DDNS_IP_HACK -DUSE_MCAST -DUSE_TCP -DDISABLE_NAGLE -DHAVE_RESOLV_RES -DUSE_DNS_CACHE -DUSE_DNS_FAILOVER -DUSE_DST_BLOCKLIST -DUSE_NAPTR -DWITH_XAVP -DMEM_JOIN_FREE -DF_MALLOC -DQ_MALLOC -DTLSF_MALLOC -DDBG_SR_MEMORY -DUSE_TLS -DTLS_HOOKS -DUSE_CORE_STATS -DSTATISTICS -DMALLOC_STATS -DUSE_SCTP -DFAST_LOCK -DADAPTIVE_WAIT -DADAPTIVE_WAIT_LOOPS=1024 -DCC_GCC_LIKE_ASM -DHAVE_GETHOSTBYNAME2 -DHAVE_UNION_SEMUN -DHAVE_SCHED_YIELD -DHAVE_MSG_NOSIGNAL -DHAVE_MSGHDR_MSG_CONTROL -DHAVE_ALLOCA_H -DHAVE_TIMEGM -DHAVE_SCHED_SETSCHEDULER -DHAVE_IP_MREQN -DUSE_RAW_SOCKS -DHAVE_EPOLL -DHAVE_SIGIO_RT -DSIGINFO64_WORKARROUND -DUSE_FUTEX -DHAVE_SELECT -I/usr/include/python3.11 -I/usr/include/python3.11 -DMOD_NAME='"app_python3"' -c apy_kemi.c -o apy_kemi.o -MMD -MP make[2]: Leaving directory '/builddir/build/BUILD/kamailio-5.6.1/src/modules/app_python3' apy_kemi.c: In function 'sr_apy_kemi_exec_func': apy_kemi.c:1835:55: error: 'PyThreadState' {aka 'struct _ts'} has no member named 'frame'; did you mean 'cframe'? 1835 | if (pstate != NULL && pstate->frame != NULL) { | ^~~~~ | cframe apy_kemi.c:1836:50: error: 'PyThreadState' {aka 'struct _ts'} has no member named 'frame'; did you mean 'cframe'? 1836 | pframe = pstate->frame; | ^~~~~ | cframe In file included from apy_kemi.c:28: apy_kemi.c:1844:58: error: invalid use of incomplete typedef 'PyFrameObject' {aka 'struct _frame'} 1844 | (pframe && pframe->f_code)?PyBytes_AsString(pframe->f_code->co_filename):"", | ^~ ../../core/dprint.h:317:80: note: in definition of macro 'LOG_FX' 317 | _ksr_slog_func(&__kld, fmt, ## args); \ | ^~~~ ../../core/dprint.h:351:25: note: in expansion of macro 'LOG_FL' 351 | LOG_FL(facility, level, NULL, prefix, fmt, ## args) | ^~~~~~ ../../core/dprint.h:354:25: note: in expansion of macro 'LOG_FP' 354 | LOG_FP(DEFAULT_FACILITY, (level), LOC_INFO, fmt, ## args) | ^~~~~~ apy_kemi.c:1839:25: note: in expansion of macro 'LOG' 1839 | LOG(cfg_get(core, core_cfg, latency_log), | ^~~ apy_kemi.c:1844:91: error: invalid use of incomplete typedef 'PyFrameObject' {aka 'struct _frame'} 1844 | (pframe && pframe->f_code)?PyBytes_AsString(pframe->f_code->co_filename):"", | ^~ ../../core/dprint.h:317:80: note: in definition of macro 'LOG_FX' 317 | _ksr_slog_func(&__kld, fmt, ## args); \ | ^~~~ ../../core/dprint.h:351:25: note: in expansion of macro 'LOG_FL' 351 | LOG_FL(facility, level, NULL, prefix, fmt, ## args) | ^~~~~~ ../../core/dprint.h:354:25: note: in expansion of macro 'LOG_FP' 354 | LOG_FP(DEFAULT_FACILITY, (level), LOC_INFO, fmt, ## args) | ^~~~~~ apy_kemi.c:1839:25: note: in expansion of macro 'LOG' 1839 | LOG(cfg_get(core, core_cfg, latency_log), | ^~~ apy_kemi.c:1845:58: error: invalid use of incomplete typedef 'PyFrameObject' {aka 'struct _frame'} 1845 | (pframe && pframe->f_code)?PyBytes_AsString(pframe->f_code->co_name):"", | ^~ ../../core/dprint.h:317:80: note: in definition of macro 'LOG_FX' 317 | _ksr_slog_func(&__kld, fmt, ## args); \ | ^~~~ ../../core/dprint.h:351:25: note: in expansion of macro 'LOG_FL' 351 | LOG_FL(facility, level, NULL, prefix, fmt, ## args) | ^~~~~~ ../../core/dprint.h:354:25: note: in expansion of macro 'LOG_FP' 354 | LOG_FP(DEFAULT_FACILITY, (level), LOC_INFO, fmt, ## args) | ^~~~~~ apy_kemi.c:1839:25: note: in expansion of macro 'LOG' 1839 | LOG(cfg_get(core, core_cfg, latency_log), | ^~~ apy_kemi.c:1845:91: error: invalid use of incomplete typedef 'PyFrameObject' {aka 'struct _frame'} 1845 | (pframe && pframe->f_code)?PyBytes_AsString(pframe->f_code->co_name):"", | ^~ ../../core/dprint.h:317:80: note: in definition of macro 'LOG_FX' 317 | _ksr_slog_func(&__kld, fmt, ## args); \ | ^~~~ ../../core/dprint.h:351:25: note: in expansion of macro 'LOG_FL' 351 | LOG_FL(facility, level, NULL, prefix, fmt, ## args) | ^~~~~~ ../../core/dprint.h:354:25: note: in expansion of macro 'LOG_FP' 354 | LOG_FP(DEFAULT_FACILITY, (level), LOC_INFO, fmt, ## args) | ^~~~~~ apy_kemi.c:1839:25: note: in expansion of macro 'LOG' 1839 | LOG(cfg_get(core, core_cfg, latency_log), | ^~~ apy_kemi.c:1846:58: error: invalid use of incomplete typedef 'PyFrameObject' {aka 'struct _frame'} 1846 | (pframe && pframe->f_code)?PyCode_Addr2Line(pframe->f_code, pframe->f_lasti):0); | ^~ ../../core/dprint.h:317:80: note: in definition of macro 'LOG_FX' 317 | _ksr_slog_func(&__kld, fmt, ## args); \ | ^~~~ ../../core/dprint.h:351:25: note: in expansion of macro 'LOG_FL' 351 | LOG_FL(facility, level, NULL, prefix, fmt, ## args) | ^~~~~~ ../../core/dprint.h:354:25: note: in expansion of macro 'LOG_FP' 354 | LOG_FP(DEFAULT_FACILITY, (level), LOC_INFO, fmt, ## args) | ^~~~~~ apy_kemi.c:1839:25: note: in expansion of macro 'LOG' 1839 | LOG(cfg_get(core, core_cfg, latency_log), | ^~~ apy_kemi.c:1846:91: error: invalid use of incomplete typedef 'PyFrameObject' {aka 'struct _frame'} 1846 | (pframe && pframe->f_code)?PyCode_Addr2Line(pframe->f_code, pframe->f_lasti):0); | ^~ ../../core/dprint.h:317:80: note: in definition of macro 'LOG_FX' 317 | _ksr_slog_func(&__kld, fmt, ## args); \ | ^~~~ ../../core/dprint.h:351:25: note: in expansion of macro 'LOG_FL' 351 | LOG_FL(facility, level, NULL, prefix, fmt, ## args) | ^~~~~~ ../../core/dprint.h:354:25: note: in expansion of macro 'LOG_FP' 354 | LOG_FP(DEFAULT_FACILITY, (level), LOC_INFO, fmt, ## args) | ^~~~~~ apy_kemi.c:1839:25: note: in expansion of macro 'LOG' 1839 | LOG(cfg_get(core, core_cfg, latency_log), | ^~~ apy_kemi.c:1846:107: error: invalid use of incomplete typedef 'PyFrameObject' {aka 'struct _frame'} 1846 | (pframe && pframe->f_code)?PyCode_Addr2Line(pframe->f_code, pframe->f_lasti):0); | ^~ ../../core/dprint.h:317:80: note: in definition of macro 'LOG_FX' 317 | _ksr_slog_func(&__kld, fmt, ## args); \ | ^~~~ ../../core/dprint.h:351:25: note: in expansion of macro 'LOG_FL' 351 | LOG_FL(facility, level, NULL, prefix, fmt, ## args) | ^~~~~~ ../../core/dprint.h:354:25: note: in expansion of macro 'LOG_FP' 354 | LOG_FP(DEFAULT_FACILITY, (level), LOC_INFO, fmt, ## args) | ^~~~~~ apy_kemi.c:1839:25: note: in expansion of macro 'LOG' 1839 | LOG(cfg_get(core, core_cfg, latency_log), | ^~~ apy_kemi.c:1844:58: error: invalid use of incomplete typedef 'PyFrameObject' {aka 'struct _frame'} 1844 | (pframe && pframe->f_code)?PyBytes_AsString(pframe->f_code->co_filename):"", | ^~ ../../core/dprint.h:326:99: note: in definition of macro 'LOG_FX' 326 | LOGV_FUNCSUFFIX_STR(funcname), ## args); \ | ^~~~ ../../core/dprint.h:351:25: note: in expansion of macro 'LOG_FL' 351 | LOG_FL(facility, level, NULL, prefix, fmt, ## args) | ^~~~~~ ../../core/dprint.h:354:25: note: in expansion of macro 'LOG_FP' 354 | LOG_FP(DEFAULT_FACILITY, (level), LOC_INFO, fmt, ## args) | ^~~~~~ apy_kemi.c:1839:25: note: in expansion of macro 'LOG' 1839 | LOG(cfg_get(core, core_cfg, latency_log), | ^~~ apy_kemi.c:1844:91: error: invalid use of incomplete typedef 'PyFrameObject' {aka 'struct _frame'} 1844 | (pframe && pframe->f_code)?PyBytes_AsString(pframe->f_code->co_filename):"", | ^~ ../../core/dprint.h:326:99: note: in definition of macro 'LOG_FX' 326 | LOGV_FUNCSUFFIX_STR(funcname), ## args); \ | ^~~~ ../../core/dprint.h:351:25: note: in expansion of macro 'LOG_FL' 351 | LOG_FL(facility, level, NULL, prefix, fmt, ## args) | ^~~~~~ ../../core/dprint.h:354:25: note: in expansion of macro 'LOG_FP' 354 | LOG_FP(DEFAULT_FACILITY, (level), LOC_INFO, fmt, ## args) | ^~~~~~ apy_kemi.c:1839:25: note: in expansion of macro 'LOG' 1839 | LOG(cfg_get(core, core_cfg, latency_log), | ^~~ apy_kemi.c:1845:58: error: invalid use of incomplete typedef 'PyFrameObject' {aka 'struct _frame'} 1845 | (pframe && pframe->f_code)?PyBytes_AsString(pframe->f_code->co_name):"", | ^~ ../../core/dprint.h:326:99: note: in definition of macro 'LOG_FX' 326 | LOGV_FUNCSUFFIX_STR(funcname), ## args); \ | ^~~~ ../../core/dprint.h:351:25: note: in expansion of macro 'LOG_FL' 351 | LOG_FL(facility, level, NULL, prefix, fmt, ## args) | ^~~~~~ ../../core/dprint.h:354:25: note: in expansion of macro 'LOG_FP' 354 | LOG_FP(DEFAULT_FACILITY, (level), LOC_INFO, fmt, ## args) | ^~~~~~ apy_kemi.c:1839:25: note: in expansion of macro 'LOG' 1839 | LOG(cfg_get(core, core_cfg, latency_log), | ^~~ apy_kemi.c:1845:91: error: invalid use of incomplete typedef 'PyFrameObject' {aka 'struct _frame'} 1845 | (pframe && pframe->f_code)?PyBytes_AsString(pframe->f_code->co_name):"", | ^~ ../../core/dprint.h:326:99: note: in definition of macro 'LOG_FX' 326 | LOGV_FUNCSUFFIX_STR(funcname), ## args); \ | ^~~~ ../../core/dprint.h:351:25: note: in expansion of macro 'LOG_FL' 351 | LOG_FL(facility, level, NULL, prefix, fmt, ## args) | ^~~~~~ ../../core/dprint.h:354:25: note: in expansion of macro 'LOG_FP' 354 | LOG_FP(DEFAULT_FACILITY, (level), LOC_INFO, fmt, ## args) | ^~~~~~ apy_kemi.c:1839:25: note: in expansion of macro 'LOG' 1839 | LOG(cfg_get(core, core_cfg, latency_log), | ^~~ apy_kemi.c:1846:58: error: invalid use of incomplete typedef 'PyFrameObject' {aka 'struct _frame'} 1846 | (pframe && pframe->f_code)?PyCode_Addr2Line(pframe->f_code, pframe->f_lasti):0); | ^~ ../../core/dprint.h:326:99: note: in definition of macro 'LOG_FX' 326 | LOGV_FUNCSUFFIX_STR(funcname), ## args); \ | ^~~~ ../../core/dprint.h:351:25: note: in expansion of macro 'LOG_FL' 351 | LOG_FL(facility, level, NULL, prefix, fmt, ## args) | ^~~~~~ ../../core/dprint.h:354:25: note: in expansion of macro 'LOG_FP' 354 | LOG_FP(DEFAULT_FACILITY, (level), LOC_INFO, fmt, ## args) | ^~~~~~ apy_kemi.c:1839:25: note: in expansion of macro 'LOG' 1839 | LOG(cfg_get(core, core_cfg, latency_log), | ^~~ apy_kemi.c:1846:91: error: invalid use of incomplete typedef 'PyFrameObject' {aka 'struct _frame'} 1846 | (pframe && pframe->f_code)?PyCode_Addr2Line(pframe->f_code, pframe->f_lasti):0); | ^~ ../../core/dprint.h:326:99: note: in definition of macro 'LOG_FX' 326 | LOGV_FUNCSUFFIX_STR(funcname), ## args); \ | ^~~~ ../../core/dprint.h:351:25: note: in expansion of macro 'LOG_FL' 351 | LOG_FL(facility, level, NULL, prefix, fmt, ## args) | ^~~~~~ ../../core/dprint.h:354:25: note: in expansion of macro 'LOG_FP' 354 | LOG_FP(DEFAULT_FACILITY, (level), LOC_INFO, fmt, ## args) | ^~~~~~ apy_kemi.c:1839:25: note: in expansion of macro 'LOG' 1839 | LOG(cfg_get(core, core_cfg, latency_log), | ^~~ apy_kemi.c:1846:107: error: invalid use of incomplete typedef 'PyFrameObject' {aka 'struct _frame'} 1846 | (pframe && pframe->f_code)?PyCode_Addr2Line(pframe->f_code, pframe->f_lasti):0); | ^~ ../../core/dprint.h:326:99: note: in definition of macro 'LOG_FX' 326 | LOGV_FUNCSUFFIX_STR(funcname), ## args); \ | ^~~~ ../../core/dprint.h:351:25: note: in expansion of macro 'LOG_FL' 351 | LOG_FL(facility, level, NULL, prefix, fmt, ## args) | ^~~~~~ ../../core/dprint.h:354:25: note: in expansion of macro 'LOG_FP' 354 | LOG_FP(DEFAULT_FACILITY, (level), LOC_INFO, fmt, ## args) | ^~~~~~ apy_kemi.c:1839:25: note: in expansion of macro 'LOG' 1839 | LOG(cfg_get(core, core_cfg, latency_log), | ^~~ apy_kemi.c:1844:58: error: invalid use of incomplete typedef 'PyFrameObject' {aka 'struct _frame'} 1844 | (pframe && pframe->f_code)?PyBytes_AsString(pframe->f_code->co_filename):"", | ^~ ../../core/dprint.h:337:99: note: in definition of macro 'LOG_FX' 337 | LOGV_FUNCSUFFIX_STR(funcname), ## args); \ | ^~~~ ../../core/dprint.h:351:25: note: in expansion of macro 'LOG_FL' 351 | LOG_FL(facility, level, NULL, prefix, fmt, ## args) | ^~~~~~ ../../core/dprint.h:354:25: note: in expansion of macro 'LOG_FP' 354 | LOG_FP(DEFAULT_FACILITY, (level), LOC_INFO, fmt, ## args) | ^~~~~~ apy_kemi.c:1839:25: note: in expansion of macro 'LOG' 1839 | LOG(cfg_get(core, core_cfg, latency_log), | ^~~ apy_kemi.c:1844:91: error: invalid use of incomplete typedef 'PyFrameObject' {aka 'struct _frame'} 1844 | (pframe && pframe->f_code)?PyBytes_AsString(pframe->f_code->co_filename):"", | ^~ ../../core/dprint.h:337:99: note: in definition of macro 'LOG_FX' 337 | LOGV_FUNCSUFFIX_STR(funcname), ## args); \ | ^~~~ ../../core/dprint.h:351:25: note: in expansion of macro 'LOG_FL' 351 | LOG_FL(facility, level, NULL, prefix, fmt, ## args) | ^~~~~~ ../../core/dprint.h:354:25: note: in expansion of macro 'LOG_FP' 354 | LOG_FP(DEFAULT_FACILITY, (level), LOC_INFO, fmt, ## args) | ^~~~~~ apy_kemi.c:1839:25: note: in expansion of macro 'LOG' 1839 | LOG(cfg_get(core, core_cfg, latency_log), | ^~~ apy_kemi.c:1845:58: error: invalid use of incomplete typedef 'PyFrameObject' {aka 'struct _frame'} 1845 | (pframe && pframe->f_code)?PyBytes_AsString(pframe->f_code->co_name):"", | ^~ ../../core/dprint.h:337:99: note: in definition of macro 'LOG_FX' 337 | LOGV_FUNCSUFFIX_STR(funcname), ## args); \ | ^~~~ ../../core/dprint.h:351:25: note: in expansion of macro 'LOG_FL' 351 | LOG_FL(facility, level, NULL, prefix, fmt, ## args) | ^~~~~~ ../../core/dprint.h:354:25: note: in expansion of macro 'LOG_FP' 354 | LOG_FP(DEFAULT_FACILITY, (level), LOC_INFO, fmt, ## args) | ^~~~~~ apy_kemi.c:1839:25: note: in expansion of macro 'LOG' 1839 | LOG(cfg_get(core, core_cfg, latency_log), | ^~~ apy_kemi.c:1845:91: error: invalid use of incomplete typedef 'PyFrameObject' {aka 'struct _frame'} 1845 | (pframe && pframe->f_code)?PyBytes_AsString(pframe->f_code->co_name):"", | ^~ ../../core/dprint.h:337:99: note: in definition of macro 'LOG_FX' 337 | LOGV_FUNCSUFFIX_STR(funcname), ## args); \ | ^~~~ ../../core/dprint.h:351:25: note: in expansion of macro 'LOG_FL' 351 | LOG_FL(facility, level, NULL, prefix, fmt, ## args) | ^~~~~~ ../../core/dprint.h:354:25: note: in expansion of macro 'LOG_FP' 354 | LOG_FP(DEFAULT_FACILITY, (level), LOC_INFO, fmt, ## args) | ^~~~~~ apy_kemi.c:1839:25: note: in expansion of macro 'LOG' 1839 | LOG(cfg_get(core, core_cfg, latency_log), | ^~~ apy_kemi.c:1846:58: error: invalid use of incomplete typedef 'PyFrameObject' {aka 'struct _frame'} 1846 | (pframe && pframe->f_code)?PyCode_Addr2Line(pframe->f_code, pframe->f_lasti):0); | ^~ ../../core/dprint.h:337:99: note: in definition of macro 'LOG_FX' 337 | LOGV_FUNCSUFFIX_STR(funcname), ## args); \ | ^~~~ ../../core/dprint.h:351:25: note: in expansion of macro 'LOG_FL' 351 | LOG_FL(facility, level, NULL, prefix, fmt, ## args) | ^~~~~~ ../../core/dprint.h:354:25: note: in expansion of macro 'LOG_FP' 354 | LOG_FP(DEFAULT_FACILITY, (level), LOC_INFO, fmt, ## args) | ^~~~~~ apy_kemi.c:1839:25: note: in expansion of macro 'LOG' 1839 | LOG(cfg_get(core, core_cfg, latency_log), | ^~~ apy_kemi.c:1846:91: error: invalid use of incomplete typedef 'PyFrameObject' {aka 'struct _frame'} 1846 | (pframe && pframe->f_code)?PyCode_Addr2Line(pframe->f_code, pframe->f_lasti):0); | ^~ ../../core/dprint.h:337:99: note: in definition of macro 'LOG_FX' 337 | LOGV_FUNCSUFFIX_STR(funcname), ## args); \ | ^~~~ ../../core/dprint.h:351:25: note: in expansion of macro 'LOG_FL' 351 | LOG_FL(facility, level, NULL, prefix, fmt, ## args) | ^~~~~~ ../../core/dprint.h:354:25: note: in expansion of macro 'LOG_FP' 354 | LOG_FP(DEFAULT_FACILITY, (level), LOC_INFO, fmt, ## args) | ^~~~~~ apy_kemi.c:1839:25: note: in expansion of macro 'LOG' 1839 | LOG(cfg_get(core, core_cfg, latency_log), | ^~~ apy_kemi.c:1846:107: error: invalid use of incomplete typedef 'PyFrameObject' {aka 'struct _frame'} 1846 | (pframe && pframe->f_code)?PyCode_Addr2Line(pframe->f_code, pframe->f_lasti):0); | ^~ ../../core/dprint.h:337:99: note: in definition of macro 'LOG_FX' 337 | LOGV_FUNCSUFFIX_STR(funcname), ## args); \ | ^~~~ ../../core/dprint.h:351:25: note: in expansion of macro 'LOG_FL' 351 | LOG_FL(facility, level, NULL, prefix, fmt, ## args) | ^~~~~~ ../../core/dprint.h:354:25: note: in expansion of macro 'LOG_FP' 354 | LOG_FP(DEFAULT_FACILITY, (level), LOC_INFO, fmt, ## args) | ^~~~~~ apy_kemi.c:1839:25: note: in expansion of macro 'LOG' 1839 | LOG(cfg_get(core, core_cfg, latency_log), | ^~~ make[2]: *** [../../Makefile.rules:100: apy_kemi.o] Error 1 ```
Try with the mater or the patch from the commit referenced above -- it's a long shot trying to fix based on docs, without any Fedora around.
Try with the mater or the patch from the commit referenced above -- it's a long shot trying to fix based on docs, without any Fedora around.
Thanks @miconda. I'll try the patch and report back on the build.
Not sure if the Kamailio project is interested, but [Fedora Copr](https://copr.fedorainfracloud.org/) allows builds to be generated with commit hooks, etc. if GitHub doesn't have any of those automated compile after commit options for Fedora.
Unfortunately no change for the build: https://download.copr.fedorainfracloud.org/results/amessina/mss/fedora-rawhi...
Any app_python3 users out there? I package, but no longer use app_python3 so I would only be able to test build, not app function.
@amessina I had a similar issue with ubuntu22 building rtp engine, in the end i found a work around by installing a newer version of the python3.10 packages than was in the ubuntu package repositories, i dont follow python3 development but seems like recent releases have deprecated various things, and in ubuntu's case the packages are a complete mess at the moment for a supposed LTS edition of the OS. I would suggest manually installing the latest packages and see if that fixes it, although if your packaging thats probably not a viable work around for you
@amessina I had a similar issue with ubuntu22 building rtp engine, in the end i found a work around by installing a newer version of the python3.10 packages than was in the ubuntu package repositories, i dont follow python3 development but seems like recent releases have deprecated various things, and in ubuntu's case the packages are a complete mess at the moment for a supposed LTS edition of the OS. I would suggest manually installing the latest packages and see if that fixes it, although if your packaging thats probably not a viable work around for you
Thanks @nakchak. I'll give that a whirl to see if it helps the build. Mostly I reported the issue so app_python3 developers have some time to work on it. I don't use app_python3 anymore so I can't test it, but getting it to build is a step in the right direction.
I have tested the build using `python3-devel.x86_64 3.11.0~rc2-1.fc38` (Fedora dist) and have the same issue.
Should be fixed in master. Reopen if still happens and add new compile error messages.
Closed #3187 as completed.
Build tested on Fedora 37. Build successful.
Not for me in Debian sid with python3 3.11
``` Get: 5 http://deb.debian.org/debian sid/main amd64 libpython3.11-minimal amd64 3.11.1-2 [812 kB] [...] Get: 7 http://deb.debian.org/debian sid/main amd64 python3.11-minimal amd64 3.11.1-2 [2065 kB] Get: 8 http://deb.debian.org/debian sid/main amd64 python3-minimal amd64 3.11.1-3 [25.9 kB] [...] Get: 15 http://deb.debian.org/debian sid/main amd64 libpython3.11-stdlib amd64 3.11.1-2 [1712 kB] Get: 16 http://deb.debian.org/debian sid/main amd64 python3.11 amd64 3.11.1-2 [567 kB] Get: 17 http://deb.debian.org/debian sid/main amd64 libpython3-stdlib amd64 3.11.1-3 [8960 B] Get: 18 http://deb.debian.org/debian sid/main amd64 python3 amd64 3.11.1-3 [25.9 kB]
```
kamailio 5.6.3 + [b8bf86e](https://github.com/kamailio/kamailio/commit/b8bf86eb11a17c853450e5c7f81d2446...)
``` gcc -fPIC -DPIC -funroll-loops -Wcast-align -m64 -minline-all-stringops -falign-loops -ftree-vectorize -fno-strict-overflow -mtune=generic -pthread -DKSR_PTHREAD_MUTEX_SHARED -Wall -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/kamailio-5.6.3=. -fstack-protector-s trong -Wformat -Werror=format-security -DVERSION_NODATE -DNAME='"kamailio"' -DVERSION='"5.6.3"' -DARCH='"x86_64"' -DOS='linux_' -DOS_QUOTED='"linux"' -DCOMPILER='"gcc 12.2.0"' -D__CPU_x86_64 -D__OS_linux -DVERSIONVAL=5006003 -DCFG_DIR='"/etc/kamailio/"' -DSHARE_DIR='"/usr/share/ kamailio/"' -DRUN_DIR='"/var/run/kamailio/"' -DPKG_MALLOC -DSHM_MMAP -DDNS_IP_HACK -DUSE_MCAST -DUSE_TCP -DDISABLE_NAGLE -DHAVE_RESOLV_RES -DUSE_DNS_CACHE -DUSE_DNS_FAILOVER -DUSE_DST_BLOCKLIST -DUSE_NAPTR -DWITH_XAVP -DMEM_JOIN_FREE -DF_MALLOC -DQ_MALLOC -DTLSF_MALLOC -DDBG_SR_ME MORY -DUSE_TLS -DTLS_HOOKS -DUSE_CORE_STATS -DSTATISTICS -DMALLOC_STATS -DUSE_SCTP -DFAST_LOCK -DADAPTIVE_WAIT -DADAPTIVE_WAIT_LOOPS=1024 -DCC_GCC_LIKE_ASM -DHAVE_GETHOSTBYNAME2 -DHAVE_UNION_SEMUN -DHAVE_SCHED_YIELD -DHAVE_MSG_NOSIGNAL -DHAVE_MSGHDR_MSG_CONTROL -DHAVE_ALLOCA_H -DH AVE_TIMEGM -DHAVE_SCHED_SETSCHEDULER -DHAVE_IP_MREQN -DUSE_RAW_SOCKS -DHAVE_EPOLL -DHAVE_SIGIO_RT -DSIGINFO64_WORKARROUND -DUSE_FUTEX -DHAVE_SELECT -I/usr/include/python3.11 -I/usr/include/python3.11 -DMOD_NAME='"app_python3"' -c app_python3_mod.c -o app_python3_mod.o -MMD -MP gcc -fPIC -DPIC -funroll-loops -Wcast-align -m64 -minline-all-stringops -falign-loops -ftree-vectorize -fno-strict-overflow -mtune=generic -pthread -DKSR_PTHREAD_MUTEX_SHARED -Wall -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/kamailio-5.6.3=. -fstack-protector-strong -Wformat -Werror=format-security -DVERSION_NODATE -DNAME='"kamailio"' -DVERSION='"5.6.3"' -DARCH='"x86_64"' -DOS='linux_' -DOS_QUOTED='"linux"' -DCOMPILER='"gcc 12.2.0"' -D__CPU_x86_64 -D__OS_linux -DVERSIONVAL=5006003 -DCFG_DIR='"/etc/kamailio/"' -DSHARE_DIR='"/usr/share/kamailio/"' -DRUN_DIR='"/var/run/kamailio/"' -DPKG_MALLOC -DSHM_MMAP -DDNS_IP_HACK -DUSE_MCAST -DUSE_TCP -DDISABLE_NAGLE -DHAVE_RESOLV_RES -DUSE_DNS_CACHE -DUSE_DNS_FAILOVER -DUSE_DST_BLOCKLIST -DUSE_NAPTR -DWITH_XAVP -DMEM_JOIN_FREE -DF_MALLOC -DQ_MALLOC -DTLSF_MALLOC -DDBG_SR_MEMORY -DUSE_TLS -DTLS_HOOKS -DUSE_CORE_STATS -DSTATISTICS -DMALLOC_STATS -DUSE_SCTP -DFAST_LOCK -DADAPTIVE_WAIT -DADAPTIVE_WAIT_LOOPS=1024 -DCC_GCC_LIKE_ASM -DHAVE_GETHOSTBYNAME2 -DHAVE_UNION_SEMUN -DHAVE_SCHED_YIELD -DHAVE_MSG_NOSIGNAL -DHAVE_MSGHDR_MSG_CONTROL -DHAVE_ALLOCA_H -DHAVE_TIMEGM -DHAVE_SCHED_SETSCHEDULER -DHAVE_IP_MREQN -DUSE_RAW_SOCKS -DHAVE_EPOLL -DHAVE_SIGIO_RT -DSIGINFO64_WORKARROUND -DUSE_FUTEX -DHAVE_SELECT -I/usr/include/python3.11 -I/usr/include/python3.11 -DMOD_NAME='"app_python3"' -c apy_kemi.c -o apy_kemi.o -MMD -MP apy_kemi.c: In function 'sr_apy_kemi_exec_func': apy_kemi.c:1845:50: error: 'PyThreadState' {aka 'struct _ts'} has no member named 'frame'; did you mean 'cframe'? 1845 | pframe = pstate->frame; | ^~~~~ | cframe In file included from apy_kemi.c:28: ```
Reopened #3187.
Sorry for the noise, I just found the other fixes in master.
Closed #3187 as completed.