やってみる

アウトプットすべく己を導くためのブログ。その試行錯誤すらたれ流す。

SQLite3をソースコードからビルドする(3.33.0)

 ICUが使えないけど。

参考

手順

 コードをダウンロードし展開する。

SRC=sqlite-src-3330000
wget https://www.sqlite.org/2020/${SRC}.zip
unzip ${SRC}.zip

AC=sqlite-autoconf-3330000
wget https://www.sqlite.org/2020/${AC}.tar.gz
tar xf ${AC}.tar.gz

cp ./${AC}/sqlite3.c ./${SRC}/sqlite3.c
cp ./${AC}/sqlite3.h ./${SRC}/sqlite3.h
cp ./${AC}/shell.c ./${SRC}/shell.c

 ビルドオプションを付与する。

cd ${SRC}
time ./configure \
--enable-tempstore \
--enable-all \
--enable-update-limit \
LIBS="-lz" \
CFLAGS="-DHAVE_READLINE=1 -DSQLITE_ALLOW_URI_AUTHORITY=1 -DSQLITE_ENABLE_COLUMN_METADATA=1 -DSQLITE_ENABLE_DBPAGE_VTAB=1 -DSQLITE_ENABLE_DBSTAT_VTAB=1 -DSQLITE_ENABLE_DESERIALIZE=1 -DSQLITE_ENABLE_FTS4=1 -DSQLITE_ENABLE_FTS5=1 -DSQLITE_ENABLE_GEOPOLY=1 -DSQLITE_ENABLE_JSON1=1 -DSQLITE_ENABLE_MEMSYS3=1 -DSQLITE_ENABLE_PREUPDATE_HOOK=1 -DSQLITE_ENABLE_RTREE=1 -DSQLITE_ENABLE_SESSION=1 -DSQLITE_ENABLE_SNAPSHOT=1 -DSQLITE_ENABLE_STMTVTAB=1 -DSQLITE_ENABLE_UPDATE_DELETE_LIMIT=1 -DSQLITE_ENABLE_UNLOCK_NOTIFY=1 -DSQLITE_INTROSPECTION_PRAGMAS=1 -DSQLITE_USE_ALLOCA=1 -DSQLITE_USE_FCNTL_TRACE=1 -DSQLITE_HAVE_ZLIB=1"

 ビルドする。

$ time make

 バージョン確認する。

$ ./sqlite3 --version
-- Loading resources from /home/pi/.sqliterc
3.33.0 2020-08-14 13:23:32 fca8dc8b578f215a969cd899336378966156154710873e68b3d9ac5881b0ff3f

 ファイルを指定箇所へ配置する。

cp ./sqlite3 ~/root/sys/env/tool/sqlite3_33_0
ln -f ~/root/sys/env/tool/sqlite3_33_0 ~/root/sys/env/tool/sqlite3

所感

 もう何度もやってきた。自分の記事をググればコピペでイケる。でも、いいかげんアップデートを自動化したい。aptは古い上に拡張機能が使えないし。

対象環境

$ uname -a
Linux raspberrypi 4.19.97-v7l+ #1294 SMP Thu Jan 30 13:21:14 GMT 2020 armv7l GNU/Linux