I have not been able to nail down why this is yet, but I am finding any time sqlite-vec is pip installed on a arm64 machine, it fails from using the 32 bit library
I built this as a replication of the issue:
https://github.com/lukehinds/sqlite-vec-test/actions/runs/12515467806/job/34913076780#step:6:506
You can see here, this is during the arm64 build stage:
#28 [linux/arm64 stage-1 6/8] RUN file /usr/local/lib/python3.12/site-packages/sqlite_vec/vec0.so
#28 0.108 /usr/local/lib/python3.12/site-packages/sqlite_vec/vec0.so: ELF 32-bit LSB shared object, ARM, EABI5 version 1 (SYSV), dynamically linked, BuildID[sha1]=126100873b8858013bd396b329eccfa35f27acf5, not stripped
#28 DONE 0.1s
#29 [linux/arm64 stage-1 7/8] RUN python -c "import sqlite3; print(sqlite3.sqlite_version)"
#29 0.676 3.40.1
#29 DONE 0.7s
#30 [linux/arm64 stage-1 8/8] RUN python -c "import sqlite3; conn = sqlite3.connect(':memory:'); conn.enable_load_extension(True); conn.load_extension('/usr/local/lib/python3.12/site-packages/sqlite_vec/vec0'); print('sqlite_vec loaded successfully')"
#30 0.361 Traceback (most recent call last):
#30 0.362 File "<string>", line 1, in <module>
#30 0.363 sqlite3.OperationalError: /usr/local/lib/python3.12/site-packages/sqlite_vec/vec0.so: wrong ELF class: ELFCLASS32
#30 ERROR: process "/bin/sh -c python -c \"import sqlite3; conn = sqlite3.connect(':memory:'); conn.enable_load_extension(True); conn.load_extension('/usr/local/lib/python3.12/site-packages/sqlite_vec/vec0'); print('sqlite_vec loaded successfully')\"" did not complete successfully: exit code: 1
------
> [linux/arm64 stage-1 8/8] RUN python -c "import sqlite3; conn = sqlite3.connect(':memory:'); conn.enable_load_extension(True); conn.load_extension('/usr/local/lib/python3.12/site-packages/sqlite_vec/vec0'); print('sqlite_vec loaded successfully')":
0.361 Traceback (most recent call last):
0.362 File "<string>", line 1, in <module>
0.363 sqlite3.OperationalError: /usr/local/lib/python3.12/site-packages/sqlite_vec/vec0.so: wrong ELF class: ELFCLASS32
I will update when I figure out why this is happening.
I have not been able to nail down why this is yet, but I am finding any time sqlite-vec is pip installed on a arm64 machine, it fails from using the 32 bit library
I built this as a replication of the issue:
https://github.com/lukehinds/sqlite-vec-test/actions/runs/12515467806/job/34913076780#step:6:506
You can see here, this is during the arm64 build stage:
I will update when I figure out why this is happening.