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-testsRunning "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-testsRunning "Fetching all results"
.
1 test; 0 failures; 1 assertion
- -
・・・省略