GaucheからSQLite3を使う。
以下のサイトからgauche-dbd-sqlite3-0.1.3.gzをダウンロード
http://practical-scheme.net/wiliki/wiliki.cgi?kikuchi
$ wget http://autogol.ath.cx/dbd-sqlite3/Gauche-dbd-sqlite3-0.1.3.tgz
そして、gauche-packageコマンドでインストール
$ sudo gauche-package install Gauche-dbd-sqlite3-0.1.3.tgz
以下の@ITのサイトにGaucheからSQLite3を使うサンプルがあるのでこれを試してみた。
GaucheでRDBプログラミング (2/5):Gaucheでメタプログラミング(3) - @IT
とりあえずこれでRDBにアクセス出きるようになった。うまくいけば簡単。
UbuntuでGauche-dbd-sqlite3-0.1.3をインストールするときはまったこと。
Gauche-dbd-sqlite3-0.1.3のconfigureをするときに以下のエラーに遭遇。
$ ./configure checking build system type... i686-pc-linux-gnu checking host system type... i686-pc-linux-gnu checking target system type... i686-pc-linux-gnu checking for gosh... /usr/bin/gosh checking for gauche-config... /usr/bin/gauche-config checking for gauche-package... /usr/bin/gauche-package checking for gauche-install... /usr/bin/gauche-install checking for gauche-cesconv... /usr/bin/gauche-cesconv checking pkg-config is at least version 0.9.0... yes checking for SQLITE3... configure: error: Package requirements (sqlite3 >= 3.5) were not met: No package 'sqlite3' found Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. Alternatively, you may set the environment variables SQLITE3_CFLAGS and SQLITE3_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details.
どうやら、PKG_CONFIG_PATHにあるはずのsqlite3が見つからないっぽい。色々調べてみたら、UbuntuのPKG_CONFIG_PATHは「/usr/lib/pkgconfig」らしい。そしてconfigure時に依存ライブラリのチェックをするときpkg-configというコマンドを使ってチェックをしているらしい。パッケージはインストールされてるけど、ここで管理されていないため(管理情報が登録されていないため)エラーになっているっぽい。
よくよく調べてみると、SQLite3本体の他に「libsqlite3-dev」というパッケージも必要っぽい。そこで、以下のようにインストールすると。
$ sudo apt-get install libsqlite3-dev
PKG_CONFIG_PATH(/usr/lib/pkgconfig)にsqlite3.pcというファイルが出来ていた。すると、configureが通った。
ちなみに私の環境ではsqlite3.pcは以下のようになっていた。
# Package Information for pkg-config prefix=/usr exec_prefix=${prefix} libdir=${exec_prefix}/lib includedir=${prefix}/include Name: SQLite Description: SQL database engine Version: 3.6.16 Libs: -L${libdir} -lsqlite3 Libs.private: -lpthread -ldl Cflags: -I${includedir}
色々知らないでやってるとよくはまるね。
ちなみにGaucheのインストールからGauche-dbd-sqlite3-0.1.3のインストールまでにやったことをまとめると以下のようになる。
$ sudo apt-get install gauche $ sudo apt-get install gauche-dev $ sudo apt-get install sqlite3 $ sudo apt-get install libsqlite3-dev $ wget http://autogol.ath.cx/dbd-sqlite3/Gauche-dbd-sqlite3-0.1.3.tgz $ sudo gauche-package install Gauche-dbd-sqlite3-0.1.3.tgz
gauche-devには最後に実行しているgauche-packageコマンドが入っている。ちなみにこのgauche-packageはtgzを解答、configureの実行、make, make installまでまとめてやってくれるコマンドらしいです。その他細かいことは、作者様のサイトにあるドキュメントからどうぞ。
Gauche Users’ Reference: Top