Closed Tinche closed 1 month ago
@jcrist Put up a PR attempting to fix this if you can run the CI pipeline: https://github.com/jcrist/msgspec/pull/703
With that PR applied (and fixed locally), I'm getting another error (with 3.13.0b3):
2024-07-12 20:56:32,621 root INFO x86_64-pc-linux-gnu-gcc -fno-strict-overflow -Wsign-compare -march=znver2 --param=l1-cache-size=32 --
param=l1-cache-line-size=64 -O2 -pipe -frecord-gcc-switches -UNDEBUG -fPIC -I/usr/include/python3.13 -c msgspec/_core.c -o /tmp/portage
/dev-python/msgspec-0.18.6/work/msgspec-0.18.6-python3_13/build/temp.linux-x86_64-cpython-313/msgspec/_core.o
msgspec/_core.c: In function ‘find_keyword’:
msgspec/_core.c:501:13: error: implicit declaration of function ‘_PyUnicode_EQ’; did you mean ‘PyUnicode_New’? [-Wimplicit-function-dec
laration]
501 | if (_PyUnicode_EQ(kwname, key)) {
| ^~~~~~~~~~~~~
| PyUnicode_New
msgspec/_core.c: In function ‘typenode_collect_convert_structs’:
msgspec/_core.c:4453:12: error: implicit declaration of function ‘_PySet_NextEntry’ [-Wimplicit-function-declaration]
4453 | while (_PySet_NextEntry(state->structs_set, &set_pos, &set_item, &set_hash)) {
| ^~~~~~~~~~~~~~~~
error: command '/usr/lib/ccache/bin/x86_64-pc-linux-gnu-gcc' failed with exit code 1
fails to build with Python 3.13.0rc1 (Fedora)
copying msgspec/py.typed -> build/lib.linux-x86_64-cpython-313/msgspec
UPDATING build/lib.linux-x86_64-cpython-313/msgspec/_version.py
set build/lib.linux-x86_64-cpython-313/msgspec/_version.py to '0.18.6'
running build_ext
building 'msgspec._core' extension
creating build/temp.linux-x86_64-cpython-313
creating build/temp.linux-x86_64-cpython-313/msgspec
gcc -fno-strict-overflow -Wsign-compare -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DNDEBUG -fcf-protection -fexceptions -fcf-protection -fexceptions -fcf-protection -fexceptions -O3 -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fPIC -I/usr/include/python3.13 -c msgspec/_core.c -o build/temp.linux-x86_64-cpython-313/msgspec/_core.o
msgspec/_core.c: In function ‘find_keyword’:
msgspec/_core.c:500:13: error: implicit declaration of function ‘_PyUnicode_EQ’; did you mean ‘PyUnicode_New’? [-Wimplicit-function-declaration]
500 | if (_PyUnicode_EQ(kwname, key)) {
| ^~~~~
| PyUnicode_New
msgspec/_core.c: In function ‘typenode_collect_convert_structs’:
msgspec/_core.c:4452:12: error: implicit declaration of function ‘_PySet_NextEntry’ [-Wimplicit-function-declaration]
4452 | while (_PySet_NextEntry(state->structs_set, &set_pos, &set_item, &set_hash)) {
| ^~~~
msgspec/_core.c: In function ‘ms_uuid_to_16_bytes’:
msgspec/_core.c:11254:15: error: too few arguments to function ‘_PyLong_AsByteArray’
11254 | int out = _PyLong_AsByteArray((PyLongObject )int128, buf, 16, 0, 0);
| ^~~~~~~
In file included from /usr/include/python3.13/longobject.h:107,
from /usr/include/python3.13/Python.h:77,
from msgspec/_core.c:9:
/usr/include/python3.13/cpython/longobject.h:111:17: note: declared here
111 | PyAPI_FUNC(int) _PyLong_AsByteArray(PyLongObject v,
| ^~~~~~~
error: command '/usr/lib64/ccache/gcc' failed with exit code 1
error: subprocess-exited-with-error
× Building wheel for msgspec (pyproject.toml) did not run successfully. │ exit code: 1 ╰─> See above for output.
note: This error originates from a subprocess, and is likely not a problem with pip. Building wheel for msgspec (pyproject.toml): finished with status 'error' Failed to build msgspec full command: /usr/bin/python3 /usr/lib/python3.13/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py build_wheel /builddir/build/BUILD/python-msgspec-0.18.6-build/msgspec-0.18.6/.pyproject-builddir/tmpan89ffv8 cwd: /builddir/build/BUILD/python-msgspec-0.18.6-build/msgspec-0.18.6 ERROR: Failed building wheel for msgspec ERROR: Failed to build one or more wheels
@rosset can you give #711 a try?
Has there been any progress on this?
I can confirm that with #711 as it is now, I can get it to build successfully and pass all tests on 3.13.0rc2.
Do you plan on releasing a new version or should this fix work without needing a new release?
Do you plan on releasing a new version or should this fix work without needing a new release?
@marvin8 You can use the fix in #711 already by installing from GitHub:
pip install git+https://github.com/jcrist/msgspec.git@main
Thank you... not really what I was asking though. :smile:
I'll wait for your next release then.
Any chances?
Howdy!
I'm trying to test cattrs on Python 3.13 (beta1). I've added a msgspec converter in the next version so now we optionally depend on msgspec, which means I can't test on 3.13 until you support it. ;)
The installation seems to be failing in GCC: https://github.com/python-attrs/cattrs/actions/runs/9333591881/job/25690767935