carderne / signal-export

Export your Signal chats to markdown files with attachments
Other
485 stars 53 forks source link

Build fails due to sqlcipher3-wheels on MacOS Sonoma / Python 3.13 #144

Open SokolskyNikita opened 1 day ago

SokolskyNikita commented 1 day ago

Desktop (please complete the following information):

Describe the bug Installation of signal-export fails during the wheel build process for the sqlcipher3-wheels dependency. The error occurs during the compilation of C code, raising multiple deprecated function warnings and several undeclared function errors. This results in a failed attempt to build an installable wheel for sqlcipher3-wheels.

To reproduce Steps to reproduce the behavior:

  1. Run python3 -m pip install signal-export on macOS 14 (arm64) with Python 3.13.
  2. Observe that the installation fails during the wheel build for sqlcipher3-wheels, throwing errors.

Relevant log lines:

src/connection.c:1157:18: error: call to undeclared function '_PyLong_AsInt'; 
ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]

src/connection.c:1491:27: error: call to undeclared function '_PyObject_CallMethodIdObjArgs'; 

src/connection.c:1491:25: error: incompatible integer to pointer conversion assigning to 'PyObject *' (aka 'struct _object *') from 'int' [-Wint-conversion]

src/connection.c:1498:17: error: call to undeclared function '_PyUnicode_EqualToASCIIString';

src/connection.c:1526:10: error: call to undeclared function '_PyArg_NoKeywords'; 

src/connection.c:1760:9: error: unknown type name '_PyTime_t'; did you mean 'PyTime_t'?

src/connection.c:1761:13: error: call to undeclared function '_PyTime_FromSecondsObject'; 

src/connection.c:1762:39: error: use of undeclared identifier '_PyTime_ROUND_CEILING'

src/connection.c:1765:24: error: call to undeclared function '_PyTime_AsMilliseconds'; 
SokolskyNikita commented 1 day ago

Ended up bypassing the problem by installing a prebuilt binary from https://pypi.org/project/sqlcipher3-wheels/#files

carderne commented 16 hours ago

Haven't tested yet with Python 3.13, presumably sqlcipher3-wheels maintainer needs to make some small changes.

Be great if you can open an issue over at that repo!

pro-sumer commented 5 hours ago

I'm also running into this :cry:

Ended up bypassing the problem by installing a prebuilt binary from https://pypi.org/project/sqlcipher3-wheels/#files

Can you please post how you worked around the issue? (Which binary to download? Where to put it?)