關於Compile SQLite-vec

關於Compile SQLite-vec

更新於 發佈於 閱讀時間約 3 分鐘

做了一段時間的0codePM,終於有時間回到技術工作,即使AI世界已經因為Deepseek推出而改變,但AI本質係沒有變的---繼續搞SQLite-vec。由於年代久遠,Opensource界幾個月可以好大變化,而且文檔永遠不齊全,對於功力有限的0codePM唯有亂試。


首先係,要在SQLite的CMDLine環境操作SQLite-vec,是需要載入vec0的extension,搵左輪同用Deepseek和GPT 9up完點樣apt-get都解決唔到。


https://github.com/asg017/sqlite-vec


咁.... 唯有自己 Compile。

作為0codePM 只識用 git clone,git左件野落來,點搞,無./configure

嘩.... 有個Makefile 呀,嘩嘩嘩,除左讀書真係唔會用Makefile,打開睇下,好長,唔知佢寫乜,見到

clean: 

嘩,前世記憶呀,好似有個指令叫make all,唔理啦,打落去試下:

(venv) root@Ollama:~/sqlite-vec# make all
VERSION=0.1.7-alpha.2 \
DATE=2025-02-24T08:57:50Z+0000 \
SOURCE=bdc336d1cf2a2222b6227784bd30c6631603279b \
VERSION_MAJOR=$(echo $VERSION | cut -d. -f1) \
VERSION_MINOR=$(echo $VERSION | cut -d. -f2) \
VERSION_PATCH=$(echo $VERSION | cut -d. -f3 | cut -d- -f1) \
envsubst < sqlite-vec.h.tmpl > sqlite-vec.h
mkdir -p dist
cc \
-fPIC -shared \
-Wall -Wextra \
-Ivendor/ \
-O3 \
-lm \
sqlite-vec.c -o dist/vec0.so
In file included from sqlite-vec.c:1:
sqlite-vec.h:5:10: fatal error: sqlite3ext.h: No such file or directory
5 | #include "sqlite3ext.h"
| ^~~~~~~~~~~~~~
compilation terminated.
make: *** [Makefile:96: dist/vec0.so] Error 1

當然無咁順利,我都預左架啦,

sqlite3ext.h 估計係sqlite3 Extension的lib,要裝返dev版,

Google 下:

apt-get install libsqlite3-dev

裝到喎,再行多次make all,嘩,又好多Warning,Warning啫,唔駛死既,不過到最後都係死左停向度:

raw-image

不過咁,雖然停左,但個Target vec0.so 係出到喎。


raw-image

咁唔理其他先,攞來試下,打sqlite3 入去cmdline 現境,relative path向.load唔得既,要打返 absolute path,向返呀大神個網搵返個example抄來試:

raw-image


雖然最後select出唔返個如其result,可能因為0.16已經把table改左,唔係以前咁embedded 的col 用Virtualtable 放另一張表,呢樣係開發問題,之後再研究。咁,之後把vec0.so 放返入個path,等sqlite3 cmdline呢件工具可以用到先~


~全文完~

avatar-img
0codeIT老狗公記事本
8會員
36內容數
奮鬥過不過最終都係浮沉左大半世的IT老狗公,催Vendor買server裝硬碟SetRouter,垃圾code執手尾,教老細用Word同Excel,Windows撞錯密碼比人lock左,會議室支燈開唔到,同大陸佬用普話話開會都係我,不過我仲有時間畫畫同玩電子垃圾,咪寫向呢度囉。
留言
avatar-img
留言分享你的想法!
好忙,好急咁整左堆野,唔寫真係唔記得,而家寫返低。 因為咁,有緊急(公司無邊次唔緊急)既事,要起一隻Windows VM同一部CT,部機唔夠位,咁唯有將其中一隻D: 經放向另一部機,用NFS連過去。 其實已經唔太記得做過乜,唯有去搵返部NFS Server 果邊,呢邊係要裝個NFS Server
上一篇有發現存放ISO/Backup位置的問題,由於呢塊板(不過壞左) https://vocus.cc/post/66e12549fd897800010bbd04 所以淘左塊90蚊的又用得返,另一篇先講。 跟住仲有隻80GB硬碟未有用,於是用來做boot機。 https://vocus
繼續玩垃圾,寫返低廢事唔記得,今次用個80G Notebook HDD做System drive裝PVE,如果比佢自動分割,佢會比30GB pve-root,留返40比LVM-Thin唔知做乜。所以人手來。 不過佢都係無用晒: 用返pvdisplay睇,佢會有個pve 的VG 基本上佢
好忙,好急咁整左堆野,唔寫真係唔記得,而家寫返低。 因為咁,有緊急(公司無邊次唔緊急)既事,要起一隻Windows VM同一部CT,部機唔夠位,咁唯有將其中一隻D: 經放向另一部機,用NFS連過去。 其實已經唔太記得做過乜,唯有去搵返部NFS Server 果邊,呢邊係要裝個NFS Server
上一篇有發現存放ISO/Backup位置的問題,由於呢塊板(不過壞左) https://vocus.cc/post/66e12549fd897800010bbd04 所以淘左塊90蚊的又用得返,另一篇先講。 跟住仲有隻80GB硬碟未有用,於是用來做boot機。 https://vocus
繼續玩垃圾,寫返低廢事唔記得,今次用個80G Notebook HDD做System drive裝PVE,如果比佢自動分割,佢會比30GB pve-root,留返40比LVM-Thin唔知做乜。所以人手來。 不過佢都係無用晒: 用返pvdisplay睇,佢會有個pve 的VG 基本上佢