Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

cqlsh on Python 3.13 (Fedora 41) not able to connect with ssl #108

Open
avikivity opened this issue Jan 18, 2025 · 16 comments
Open

cqlsh on Python 3.13 (Fedora 41) not able to connect with ssl #108

avikivity opened this issue Jan 18, 2025 · 16 comments

Comments

@avikivity
Copy link
Member

The connection just hangs.

@avikivity
Copy link
Member Author

$ ./bin/cqlsh --ssl
Connection error: ('Unable to connect to any servers', {'127.0.0.1:9042': OperationTimedOut('errors=Timed out creating connection (5 seconds), last_host=None')})
    1 0.000000000    127.0.0.1 → 127.0.0.1    TCP 74 45486 → 9042 [SYN] Seq=0 Win=65495 Len=0 MSS=65495 SACK_PERM TSval=2770205008 TSecr=0 WS=128
    2 0.000015503    127.0.0.1 → 127.0.0.1    TCP 74 9042 → 45486 [SYN, ACK] Seq=0 Ack=1 Win=65483 Len=0 MSS=65495 SACK_PERM TSval=2770205008 TSecr=2770205008 WS=128
    3 0.000036239    127.0.0.1 → 127.0.0.1    TCP 66 45486 → 9042 [ACK] Seq=1 Ack=1 Win=65536 Len=0 TSval=2770205008 TSecr=2770205008
    4 0.000180714    127.0.0.1 → 127.0.0.1    TLSv1.2 583 Client Hello
    5 0.000185178    127.0.0.1 → 127.0.0.1    TCP 66 9042 → 45486 [ACK] Seq=1 Ack=518 Win=65024 Len=0 TSval=2770205009 TSecr=2770205009
    6 0.000850940    127.0.0.1 → 127.0.0.1    TLSv1.3 199 Server Hello, Change Cipher Spec
    7 0.000872097    127.0.0.1 → 127.0.0.1    TCP 66 45486 → 9042 [ACK] Seq=518 Ack=134 Win=65408 Len=0 TSval=2770205009 TSecr=2770205009
    8 0.006530693    127.0.0.1 → 127.0.0.1    TLSv1.3 1719 Application Data, Application Data, Application Data, Application Data
    9 0.006534862    127.0.0.1 → 127.0.0.1    TCP 66 45486 → 9042 [ACK] Seq=518 Ack=1787 Win=83456 Len=0 TSval=2770205015 TSecr=2770205015
   10 0.007179710    127.0.0.1 → 127.0.0.1    TLSv1.3 146 Change Cipher Spec, Application Data
   11 0.048220226    127.0.0.1 → 127.0.0.1    TCP 66 9042 → 45486 [ACK] Seq=1787 Ack=598 Win=65536 Len=0 TSval=2770205057 TSecr=2770205016
   12 5.002711383    127.0.0.1 → 127.0.0.1    TCP 74 45488 → 9042 [SYN] Seq=0 Win=65495 Len=0 MSS=65495 SACK_PERM TSval=2770210011 TSecr=0 WS=128
   13 5.002750360    127.0.0.1 → 127.0.0.1    TCP 74 9042 → 45488 [SYN, ACK] Seq=0 Ack=1 Win=65483 Len=0 MSS=65495 SACK_PERM TSval=2770210011 TSecr=2770210011 WS=128
   14 5.002798414    127.0.0.1 → 127.0.0.1    TCP 66 45488 → 9042 [ACK] Seq=1 Ack=1 Win=65536 Len=0 TSval=2770210011 TSecr=2770210011
   15 5.002962261    127.0.0.1 → 127.0.0.1    TCP 66 45486 → 9042 [FIN, ACK] Seq=598 Ack=1787 Win=83456 Len=0 TSval=2770210011 TSecr=2770205057
   16 5.003315466    127.0.0.1 → 127.0.0.1    TLSv1.2 583 Client Hello
   17 5.003336094    127.0.0.1 → 127.0.0.1    TCP 66 9042 → 45488 [ACK] Seq=1 Ack=518 Win=65024 Len=0 TSval=2770210012 TSecr=2770210012
   18 5.003391273    127.0.0.1 → 127.0.0.1    TLSv1.3 90 Application Data
   19 5.003442852    127.0.0.1 → 127.0.0.1    TCP 54 45486 → 9042 [RST] Seq=599 Win=0 Len=0
   20 5.021641971    127.0.0.1 → 127.0.0.1    TLSv1.3 199 Server Hello, Change Cipher Spec
   21 5.021665725    127.0.0.1 → 127.0.0.1    TCP 66 45488 → 9042 [ACK] Seq=518 Ack=134 Win=65408 Len=0 TSval=2770210030 TSecr=2770210030
   22 5.021690360    127.0.0.1 → 127.0.0.1    TLSv1.3 1719 Application Data, Application Data, Application Data, Application Data
   23 5.021699060    127.0.0.1 → 127.0.0.1    TCP 66 45488 → 9042 [ACK] Seq=518 Ack=1787 Win=83328 Len=0 TSval=2770210030 TSecr=2770210030
   24 5.022796815    127.0.0.1 → 127.0.0.1    TLSv1.3 146 Change Cipher Spec, Application Data
   25 5.063243190    127.0.0.1 → 127.0.0.1    TCP 66 9042 → 45488 [ACK] Seq=1787 Ack=598 Win=65536 Len=0 TSval=2770210072 TSecr=2770210031
   26 10.001849663    127.0.0.1 → 127.0.0.1    TCP 66 45488 → 9042 [FIN, ACK] Seq=598 Ack=1787 Win=83328 Len=0 TSval=2770215010 TSecr=2770210072
   27 10.002163812    127.0.0.1 → 127.0.0.1    TLSv1.3 90 Application Data
   28 10.002203277    127.0.0.1 → 127.0.0.1    TCP 54 45488 → 9042 [RST] Seq=599 Win=0 Len=0

@avikivity
Copy link
Member Author

@elcallio maybe you have some ideas about this

@Lorak-mmk
Copy link
Collaborator

It probably defaulted to Asyncio event loop in python driver, which does not work with SSL. It should work if you install libev (unless cqlsh manually selects the asyncio impl).

cc @fruch

@fruch
Copy link
Collaborator

fruch commented Jan 18, 2025

We should disable the fallback to asyncio, as I was trying to do in my PR to sync with upstream.

Also if we had release wheels for 3.13, it would also avoided

@fruch
Copy link
Collaborator

fruch commented Jan 19, 2025

as @Lorak-mmk mentioned, this is probably

scylladb/python-driver#330

@avikivity if it's for the toolchain, the quickest way around it, is to install libev libev-devel

@Lorak-mmk we still need sync with upstream logic as suggested in scylladb/python-driver#312
or we keep running into this, on every new version of python being released before we have wheels for it

also we should release wheels for 3.13

@avikivity
Copy link
Member Author

Thanks, I'll try that

@avikivity
Copy link
Member Author

Doesn't appear to work. Does the last released driver support libev?

@avikivity
Copy link
Member Author

Doesn't appear to work. Does the last released driver support libev?

No, user error here.

@avikivity
Copy link
Member Author

Now I get: Connection error: ('Unable to connect to any servers', {'127.0.0.1:9042': PermissionError(1, "Tried connecting to [('127.0.0.1', 9042)]. Last error: [SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:1018)")})

@fruch
Copy link
Collaborator

fruch commented Jan 19, 2025

Now I get: Connection error: ('Unable to connect to any servers', {'127.0.0.1:9042': PermissionError(1, "Tried connecting to [('127.0.0.1', 9042)]. Last error: [SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:1018)")})

We have a test case that is supposed to cover that
https://github.com/scylladb/scylla-dtest/blob/ff0837e37354715fe80cbbddd55cee144defeacd/cqlsh_tests/cqlsh_tests.py#L2102

Can you share how scylla is configured ?
Which version of scylla is it ?

@avikivity
Copy link
Member Author

Now I get: Connection error: ('Unable to connect to any servers', {'127.0.0.1:9042': PermissionError(1, "Tried connecting to [('127.0.0.1', 9042)]. Last error: [SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:1018)")})

We have a test case that is supposed to cover that https://github.com/scylladb/scylla-dtest/blob/ff0837e37354715fe80cbbddd55cee144defeacd/cqlsh_tests/cqlsh_tests.py#L2102

Does the test run with cqlsh/driver using Python 3.13? It fails for me (scylladb/scylladb#22380).

Can you share how scylla is configured ? Which version of scylla is it ?

6c1c05af5a700d60b408ac7b89ed6891014dddc3 built on Fedora 41 (Python 3.13).

@fruch
Copy link
Collaborator

fruch commented Jan 20, 2025

I've tested it locally with python 3.13, and everything was working as expected (those dtest passed)

I would assume some other parts of the system inside dbuild that were used to built are slightly different

@avikivity
Copy link
Member Author

I ran cqlsh after installing libev-devel and reinstalling the driver with pip. It doesn't look like it's used.

COMMAND     PID USER   FD      TYPE             DEVICE  SIZE/OFF       NODE NAME
python3 3882405  avi  cwd       DIR              253,1     49152  176160897 /home/avi/scylla
python3 3882405  avi  rtd       DIR              253,1      4096        128 /
python3 3882405  avi  txt       REG              253,1     14784   25175720 /usr/bin/python3.13
python3 3882405  avi  mem       REG              253,1    697480 2541781296 /usr/lib64/python3.13/lib-dynload/unicodedata.cpython-313-x86_64-linux-gnu.so
python3 3882405  avi  mem       REG              253,1    872856  469772439 /usr/lib64/python3.13/site-packages/numpy/random/_generator.cpython-313-x86_64-linux-gnu.so
python3 3882405  avi  mem       REG              253,1    672088  469802885 /usr/lib64/python3.13/site-packages/numpy/random/mtrand.cpython-313-x86_64-linux-gnu.so
python3 3882405  avi  mem       REG              253,1  41282448       1772 /usr/lib64/libopenblaso-r0.3.26.so
python3 3882405  avi  mem       REG              253,1   6990072   20042769 /usr/lib64/flexiblas/libflexiblas_fallback_lapack.so
python3 3882405  avi  mem       REG              253,1   3169448      19755 /usr/lib64/libgfortran.so.5.0.0
python3 3882405  avi  mem       REG              253,1   2481312       2897 /usr/lib64/libstdc++.so.6.0.33
python3 3882405  avi  mem       REG              253,1     65168 2541749378 /usr/lib64/python3.13/lib-dynload/_asyncio.cpython-313-x86_64-linux-gnu.so
python3 3882405  avi  mem       REG              253,1   2448472  327365048 /usr/local/lib64/python3.13/site-packages/yaml/_yaml.cpython-313-x86_64-linux-gnu.so
python3 3882405  avi  mem       REG              253,1   3557752      19756 /usr/lib64/libflexiblas.so.3.4
python3 3882405  avi  mem       REG              253,1     62200  469799260 /usr/lib64/python3.13/site-packages/numpy/random/_sfc64.cpython-313-x86_64-linux-gnu.so
python3 3882405  avi  mem       REG              253,1    100088  469798982 /usr/lib64/python3.13/site-packages/numpy/random/_pcg64.cpython-313-x86_64-linux-gnu.so
python3 3882405  avi  mem       REG              253,1     78800  469799026 /usr/lib64/python3.13/site-packages/numpy/random/_philox.cpython-313-x86_64-linux-gnu.so
python3 3882405  avi  mem       REG              253,1    353032  469769670 /usr/lib64/python3.13/site-packages/numpy/random/_bounded_integers.cpython-313-x86_64-linux-gnu.so
python3 3882405  avi  mem       REG              253,1   5965376  117456038 /usr/lib64/python3.13/site-packages/numpy/core/_multiarray_umath.cpython-313-x86_64-linux-gnu.so
python3 3882405  avi  mem       REG              253,1     95216  469776094 /usr/lib64/python3.13/site-packages/numpy/random/_mt19937.cpython-313-x86_64-linux-gnu.so
python3 3882405  avi  mem       REG              253,1    256616  469769676 /usr/lib64/python3.13/site-packages/numpy/random/_common.cpython-313-x86_64-linux-gnu.so
python3 3882405  avi  mem       REG              253,1    202792  469799264 /usr/lib64/python3.13/site-packages/numpy/random/bit_generator.cpython-313-x86_64-linux-gnu.so
python3 3882405  avi  mem       REG              253,1    133056 2541770338 /usr/lib64/python3.13/lib-dynload/_ctypes.cpython-313-x86_64-linux-gnu.so
python3 3882405  avi  mem       REG              253,1    132088  117456037 /usr/lib64/python3.13/site-packages/numpy/core/_multiarray_tests.cpython-313-x86_64-linux-gnu.so
python3 3882405  avi  mem       REG              253,1    351280      21328 /usr/lib64/libgomp.so.1.0.0
python3 3882405  avi  mem       REG              253,1    407752   20042770 /usr/lib64/flexiblas/libflexiblas_netlib.so
python3 3882405  avi  mem       REG              253,1    293152       9263 /usr/lib64/libquadmath.so.0.0.0
python3 3882405  avi  mem       REG              253,1    186800       1735 /usr/lib64/libgcc_s-14-20250110.so.1
python3 3882405  avi  mem       REG              253,1    128208 2541776774 /usr/lib64/python3.13/lib-dynload/_pickle.cpython-313-x86_64-linux-gnu.so
python3 3882405  avi  mem       REG              253,1    208384       3064 /usr/lib64/libmpdec.so.2.5.1
python3 3882405  avi  mem       REG              253,1     65744      13711 /usr/lib64/libffi.so.8.1.4
python3 3882405  avi  mem       REG              253,1     14744 2541767827 /usr/lib64/python3.13/lib-dynload/_contextvars.cpython-313-x86_64-linux-gnu.so
python3 3882405  avi  mem       REG              253,1    882376      22079 /usr/lib64/libssl.so.3.2.2
python3 3882405  avi  mem       REG              253,1   4904984      16066 /usr/lib64/libcrypto.so.3.2.2
python3 3882405  avi  mem       REG              253,1     43144   20042759 /usr/lib64/flexiblas/libflexiblas_openblas-openmp.so
python3 3882405  avi  mem       REG              253,1    174400 2541770344 /usr/lib64/python3.13/lib-dynload/_decimal.cpython-313-x86_64-linux-gnu.so
python3 3882405  avi  mem       REG              253,1    133480 2541770342 /usr/lib64/python3.13/lib-dynload/_datetime.cpython-313-x86_64-linux-gnu.so
python3 3882405  avi  mem       REG              253,1    178352 2541781278 /usr/lib64/python3.13/lib-dynload/_ssl.cpython-313-x86_64-linux-gnu.so
python3 3882405  avi  mem       REG              253,1     23328 2541781270 /usr/lib64/python3.13/lib-dynload/_random.cpython-313-x86_64-linux-gnu.so
python3 3882405  avi  mem       REG              253,1     23528 2541749379 /usr/lib64/python3.13/lib-dynload/_bisect.cpython-313-x86_64-linux-gnu.so
python3 3882405  avi  mem       REG              253,1     48864 2541772409 /usr/lib64/python3.13/lib-dynload/_json.cpython-313-x86_64-linux-gnu.so
python3 3882405  avi  mem       REG              253,1     23848 2541776791 /usr/lib64/python3.13/lib-dynload/_queue.cpython-313-x86_64-linux-gnu.so
python3 3882405  avi  mem       REG              253,1     31344 2541772404 /usr/lib64/python3.13/lib-dynload/_heapq.cpython-313-x86_64-linux-gnu.so
python3 3882405  avi  mem       REG              253,1    653408      13714 /usr/lib64/libpcre2-8.so.0.13.0
python3 3882405  avi  mem       REG              253,1    184272       4742 /usr/lib64/libselinux.so.1
python3 3882405  avi  mem       REG              253,1     64056     135102 /usr/lib64/libresolv.so.2
python3 3882405  avi  mem       REG              253,1     24400      13958 /usr/lib64/libkeyutils.so.1.10
python3 3882405  avi  mem       REG              253,1     66496      26483 /usr/lib64/libkrb5support.so.0.1
python3 3882405  avi  mem       REG              253,1     95272      19986 /usr/lib64/libk5crypto.so.3.1
python3 3882405  avi  mem       REG              253,1    836776      20272 /usr/lib64/libkrb5.so.3.3
python3 3882405  avi  mem       REG              253,1    354672      19978 /usr/lib64/libgssapi_krb5.so.2.2
python3 3882405  avi  mem       REG              253,1     19296 2541781287 /usr/lib64/python3.13/lib-dynload/grp.cpython-313-x86_64-linux-gnu.so
python3 3882405  avi  mem       REG              253,1     32304 2541781284 /usr/lib64/python3.13/lib-dynload/binascii.cpython-313-x86_64-linux-gnu.so
python3 3882405  avi  mem       REG              253,1     58800 2541781280 /usr/lib64/python3.13/lib-dynload/_struct.cpython-313-x86_64-linux-gnu.so
python3 3882405  avi  mem       REG              253,1     45880 3028377543 /usr/lib64/python3.13/site-packages/kerberos.cpython-313-x86_64-linux-gnu.so
python3 3882405  avi  mem       REG              253,1    187416      13180 /usr/lib64/libtinfo.so.6.5
python3 3882405  avi  mem       REG              253,1    365728      13519 /usr/lib64/libreadline.so.8.2
python3 3882405  avi  mem       REG              253,1    103496 2541781276 /usr/lib64/python3.13/lib-dynload/_socket.cpython-313-x86_64-linux-gnu.so
python3 3882405  avi  mem       REG              253,1    215600      13482 /usr/lib64/liblzma.so.5.6.2
python3 3882405  avi  mem       REG              253,1     70224 2541781283 /usr/lib64/python3.13/lib-dynload/array.cpython-313-x86_64-linux-gnu.so
python3 3882405  avi  mem       REG              253,1     40232 2541781291 /usr/lib64/python3.13/lib-dynload/readline.cpython-313-x86_64-linux-gnu.so
python3 3882405  avi  mem       REG              253,1     80688      13653 /usr/lib64/libbz2.so.1.0.8
python3 3882405  avi  mem       REG              253,1    141776       1752 /usr/lib64/libz.so.1.3.1.zlib-ng
python3 3882405  avi  mem       REG              253,1     24168        220 /usr/lib64/libcom_err.so.2.1
python3 3882405  avi  mem       REG              253,1     39400       3236 /usr/lib64/libuuid.so.1.3.0
python3 3882405  avi  mem       REG              253,1     44696 2541772412 /usr/lib64/python3.13/lib-dynload/_lzma.cpython-313-x86_64-linux-gnu.so
python3 3882405  avi  mem       REG              253,1 232351648   25235281 /usr/lib/locale/locale-archive
python3 3882405  avi  mem       REG              253,1     14856 2541781281 /usr/lib64/python3.13/lib-dynload/_uuid.cpython-313-x86_64-linux-gnu.so
python3 3882405  avi  mem       REG              253,1     31904 2541764773 /usr/lib64/python3.13/lib-dynload/_bz2.cpython-313-x86_64-linux-gnu.so
python3 3882405  avi  mem       REG              253,1     27936 2541772410 /usr/lib64/python3.13/lib-dynload/_lsprof.cpython-313-x86_64-linux-gnu.so
python3 3882405  avi  mem       REG              253,1     14600     135093 /usr/lib64/libpthread.so.0
python3 3882405  avi  mem       REG              253,1     36576      20399 /usr/lib64/libb2.so.1.0.4
python3 3882405  avi  mem       REG              253,1     36360 2541764767 /usr/lib64/python3.13/lib-dynload/_blake2.cpython-313-x86_64-linux-gnu.so
python3 3882405  avi  mem       REG              253,1     59592 2541772403 /usr/lib64/python3.13/lib-dynload/_hashlib.cpython-313-x86_64-linux-gnu.so
python3 3882405  avi  mem       REG              253,1     69640  260976967 /usr/lib64/python3.13/site-packages/numpy/fft/_pocketfft_internal.cpython-313-x86_64-linux-gnu.so
python3 3882405  avi  mem       REG              253,1    153968  335571821 /usr/lib64/python3.13/site-packages/numpy/linalg/_umath_linalg.cpython-313-x86_64-linux-gnu.so
python3 3882405  avi  mem       REG              253,1   2454184     112369 /usr/lib64/libc.so.6
python3 3882405  avi  mem       REG              253,1   5486096      22073 /usr/lib64/libpython3.13.so.1.0
python3 3882405  avi  mem       REG              253,1     49984 2541781297 /usr/lib64/python3.13/lib-dynload/zlib.cpython-313-x86_64-linux-gnu.so
python3 3882405  avi  mem       REG              253,1     78376 2541781288 /usr/lib64/python3.13/lib-dynload/math.cpython-313-x86_64-linux-gnu.so
python3 3882405  avi  mem       REG              253,1     36688 2541781293 /usr/lib64/python3.13/lib-dynload/select.cpython-313-x86_64-linux-gnu.so
python3 3882405  avi  mem       REG              253,1     31248 2541776780 /usr/lib64/python3.13/lib-dynload/_posixsubprocess.cpython-313-x86_64-linux-gnu.so
python3 3882405  avi  mem       REG              253,1     27280 2541781286 /usr/lib64/python3.13/lib-dynload/fcntl.cpython-313-x86_64-linux-gnu.so
python3 3882405  avi  mem       REG              253,1     31344 2541781295 /usr/lib64/python3.13/lib-dynload/termios.cpython-313-x86_64-linux-gnu.so
python3 3882405  avi  mem       REG              253,1    936376     112371 /usr/lib64/libm.so.6
python3 3882405  avi  mem       REG              253,1     37328 2541770336 /usr/lib64/python3.13/lib-dynload/_csv.cpython-313-x86_64-linux-gnu.so
python3 3882405  avi  mem       REG              253,1     24464 2541776772 /usr/lib64/python3.13/lib-dynload/_opcode.cpython-313-x86_64-linux-gnu.so
python3 3882405  avi  mem       REG              253,1     27012      10756 /usr/lib64/gconv/gconv-modules.cache
python3 3882405  avi  mem       REG              253,1    934864     112366 /usr/lib64/ld-linux-x86-64.so.2
python3 3882405  avi    0u      CHR              136,7       0t0         10 /dev/pts/7
python3 3882405  avi    1u      CHR              136,7       0t0         10 /dev/pts/7
python3 3882405  avi    2u      CHR              136,7       0t0         10 /dev/pts/7
python3 3882405  avi    3u  a_inode               0,16         0         78 [eventpoll:4,6,7,8]
python3 3882405  avi    4u     unix 0x00000000ca7cb6c5       0t0  113605415 type=STREAM (CONNECTED)
python3 3882405  avi    5u     unix 0x000000001b609404       0t0  113605416 type=STREAM (CONNECTED)
python3 3882405  avi    6u     IPv4          113605417       0t0        TCP localhost:33734->localhost:9042 (ESTABLISHED)
python3 3882405  avi    7u     IPv4          113613436       0t0        TCP localhost:33748->localhost:9042 (ESTABLISHED)
python3 3882405  avi    8u     IPv4          113625800       0t0        TCP localhost:52878->localhost:19042 (ESTABLISHED)

@avikivity
Copy link
Member Author

Trying setup.py directly:

gcc -fno-strict-overflow -Wsign-compare -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DNDEBUG -fcf-protection -fexceptions -fcf-protection -fexceptions -fcf-protection -fexceptions -O3 -fPIC -I/usr/include/libev -I/usr/local/include -I/opt/local/include -I/usr/include/python3.13 -c cassandra/io/libevwrapper.c -o build/temp.linux-x86_64-cpython-313/cassandra/io/libevwrapper.o
cassandra/io/libevwrapper.c: In function ‘PyInit_libevwrapper’:
cassandra/io/libevwrapper.c:668:10: error: implicit declaration of function ‘PyEval_ThreadsInitialized’ [-Wimplicit-function-declaration]
  668 |     if (!PyEval_ThreadsInitialized()) {
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~
cassandra/io/libevwrapper.c:669:9: warning: ‘PyEval_InitThreads’ is deprecated [-Wdeprecated-declarations]
  669 |         PyEval_InitThreads();
      |         ^~~~~~~~~~~~~~~~~~
In file included from /usr/include/python3.13/Python.h:124,
                 from cassandra/io/libevwrapper.c:1:
/usr/include/python3.13/ceval.h:114:37: note: declared here
  114 | Py_DEPRECATED(3.9) PyAPI_FUNC(void) PyEval_InitThreads(void);
      |                                     ^~~~~~~~~~~~~~~~~~
command '/usr/lib64/ccache/gcc' failed with exit code 1
/home/avi/python-driver/setup.py:291: UserWarning: 
===============================================================================
WARNING: could not compile The cassandra.io.libevwrapper extension.

The C extensions are not required for the driver to run, but they add support
for libev and token-aware routing with the Murmur3Partitioner.

Linux users should ensure that GCC and the Python headers are available.

On Ubuntu and Debian, this can be accomplished by running:

    $ sudo apt-get install build-essential python-dev

On RedHat and RedHat-based systems like CentOS and Fedora:

    $ sudo yum install gcc python-devel

On OSX, homebrew installations of Python should provide the necessary headers.

libev Support
-------------
For libev support, you will also need to install libev and its headers.

On Debian/Ubuntu:

    $ sudo apt-get install libev4 libev-dev

On RHEL/CentOS/Fedora:

    $ sudo yum install libev libev-devel

On OSX, via homebrew:

    $ brew install libev

===============================================================================
    

@avikivity
Copy link
Member Author

@avikivity
Copy link
Member Author

Please update the driver to 3.28.2.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants