I encounter the following errors with Python 3.12.1 on Fedora 39 using most current version of trunk server (e13eb51471ca03e87ba86b4507176aad693df55e)
make[3]: Entering directory '/home/leaf/crossfire-crossfire-server/plugins/cfpython'
CXX pyi_generate-pyi-generate.o
CXX pyi_generate-cfpython.o
CXX pyi_generate-cfpython_archetype.o
CXX pyi_generate-cfpython_object.o
CXX pyi_generate-cfpython_map.o
CXX pyi_generate-cfpython_party.o
CXX pyi_generate-cfpython_region.o
CXX pyi_generate-cjson.o
cjson.cpp: In function ‘PyObject encode_unicode(PyObject)’:
cjson.cpp:670:9: error: ‘PyUnicode_AS_UNICODE’ was not declared in this scope; did you mean ‘PyUnicode_AsUCS4’?
670 | s = PyUnicode_AS_UNICODE(unicode);
| ^~~~~~~~~~~~~~~~~~~~
| PyUnicode_AsUCS4
cjson.cpp:671:12: error: ‘PyUnicode_GET_SIZE’ was not declared in this scope; did you mean ‘PyDict_GET_SIZE’?
671 | size = PyUnicode_GET_SIZE(unicode);
| ^~~~~~~~~~~~~~~~~~
| PyDict_GET_SIZE
make[3]: *** [Makefile:717: pyi_generate-cjson.o] Error 1
make[3]: Leaving directory '/home/leaf/crossfire-crossfire-server/plugins/cfpython'
make[2]: *** [Makefile:758: all-recursive] Error 1
make[2]: Leaving directory '/home/leaf/crossfire-crossfire-server/plugins/cfpython'
make[1]: *** [Makefile:391: all-recursive] Error 1
make[1]: Leaving directory '/home/leaf/crossfire-crossfire-server/plugins'
make: *** [Makefile:428: all-recursive] Error 1
With the patch posted/provided at https://pastebin.com/S3VC3ZcJ the server now compiles and runs on Fedora39 with no errors or issues.
Big thanks to ToxicFrog and Cloak for the help via Discord so I could test this patch in my Fedora 39 VM.
Committed in 472dd26a, thanks!