Hi, having a all new shiny, I wanted to do some random tests with it and turned to Andys sqlite3 bindings[1]. Compiling and installing worked like a breeze but I'm having some beginners trouble.
Looking into sqlite3.scm I gather that the following session should open up a connection to my "mydb" database: ,---- | scheme@(guile-user)> ,use (sqlite3) | scheme@(guile-user)> (sqlite-open "mydb" SQLITE_OPEN_READONLY) | ;;; <stdin>:2:0: warning: possibly unbound variable `SQLITE_OPEN_READONLY' | <unnamed port>:1:0: In procedure #<procedure 9335250 at <current input>:2:0 ()>: | <unnamed port>:1:0: In procedure module-lookup: Unbound variable: SQLITE_OPEN_READONLY `---- Hm ok, so the constants seem not to be exported, right? ,---- | scheme@(guile-user)> (define db (sqlite-open "mydb" 1)) | <unnamed port>:0:0: In procedure #<procedure 9bf9690 at <current input>:1:0 ()>: | <unnamed port>:0:0: Throw to key `sqlite-error' with args `(sqlite-open 14 "Unable to open the database file")'. `---- But that is strange, I'm sure I have this file. So lets do an "strace -e open guile" and see what guile accesses: ,---- | .... | open("/usr/local/lib/guile/2.0/ccache/language/bytecode/spec.go", O_RDONLY) = 91 | open("/opt/src/git/guile-sqlite3/tests/mydb\315\201", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) | <unnamed port>:0:0: In procedure #<procedure 8ce37d0 at <current input>:1:0 ()>: | <unnamed port>:0:0: Throw to key `sqlite-error' with args `(sqlite-open 14 "Unable to open the database file")'. `---- Huh, what are those characters after "mydb"? Funnily enough, if I use filenames longer than 4 characters it works. Can someone hit me with a clue-stick please? Thanks Detlev [1] git://gitorious.org/guile-sqlite3/guile-sqlite3.git -- I think that level of generalization is too abstract for useful thinking. -- Richard Stallman in <e19n344-0006q9...@fencepost.gnu.org>