node-sqliteがCentOSで動かない

GitHub - orlandov/node-sqlite: Asynchronous, non-blocking SQLite3 bindings for Node.js
こいつがうまく動かない。

# git clone git://github.com/orlandov/node-sqlite.git
# cd node-sqlite/
# node-waf configure build

これで「sqlite3_bindings.node」ができあがってる。
必要なライブラリ、async-testingを取得してから、テストモジュールを実行すると・・・

# git submodule update --init
# ./run-tests

Running "Fetching all results"
node: symbol lookup error: /****/node-sqlite/build/default/sqlite3_bindings.node: undefined symbol: sqlite3_open_v2

sqlite3_open_v2がないと怒られてしまう。
sqlite3のバージョンは

# sqlite3 -version
3.7.4

sqlite3_open_v2(v3.5以上に存在)が無いわけではないはずだ。

原因は以下のため。
最新バージョンをソースからビルドした際、libsqlite3.soは/usr/local/lib以下に。
だが元々v3.3のlibsqlite3.soが/usr/lib以下に存在していた。
LD_LIBRARY_PATHが無設定だと、/lib・/usr/libを参照するため、v3.3のlibsqlite3.soを利用することになってしまっていたわけだ。

なので、以下の通りLD_LIBRARY_PATHをきちんと設定してあげれば解決。

# export LD_LIBRARY_PATH=/usr/local/lib
# ./run-tests

Running "Fetching all results"
.
1 test; 0 failures; 1 assertion

                                                                  • -

・・・省略