tursodatabase / libsql-experimental-python

libSQL API for Python (experimental)
87 stars 9 forks source link

symbol not found in found in namespace '_sqlite3_wal_manager' #47

Closed juliuslipp closed 6 months ago

juliuslipp commented 6 months ago

Hey there, with the latest version I am getting the following error: ImportError: dlopen(...python3.10/site-packages/libsql_experimental/libsql_experimental.cpython-310-darwin.so, 0x0002): symbol not found in flat namespace '_sqlite3_wal_manager'

Happens on m2 macbook pro

only happens in 0.0.28. 0.0.27 works fine. Really looking forward to the new version, because the logs are really annoying :D lmk if i can help out

penberg commented 6 months ago

Quick update on this: I opportunistically tried some fixes, but none of them helped. The odd thing is that if I build the packages on my local macOS 14, they're fine, but when built on Github Actions runner, they have this problem. What I suspect is either a linker or a compiler issue, but don't really have any evidence. What I plan to do next is compare the binaries built on my machine vs a Github actions runner to see if I can spot anything.

penberg commented 6 months ago

I have bit time figuring out the root cause, but https://github.com/protocolbuffers/protobuf/issues/10571#issuecomment-1247969637 seems to suggest clang/gcc issue. One possible thing is that the sqlite3mc build picks up the wrong one (I suspect gcc).

penberg commented 6 months ago

Fixed by https://github.com/tursodatabase/libsql-experimental-python/commit/f71e517036b5c88bf730e91a3efa436d363f8f33

juliuslipp commented 6 months ago

@penberg if I have you here right now, still having the issue with the logging. Is there a possibility to turn this off?