I'm trying to use the tokyocabinet egg and I've been unable to get it to work. This is what I get:
(use tokyocabinet)
(define *db* (tc-hdb-open "the-db"))
(tc-hdb-put! *db* "key" "value")
(tc-hdb-get *db* "key")
Error: bad argument type - not a number vector
#<localive>
s32vector
Call history:
<syntax> (tc-hdb-get *db* "key")
<eval> (tc-hdb-get *db* "key") <--
If I use tchmgr [tchmgr get the-db key], it works correctly.
This happens on both Chicken 4.6.0 and 4.6.3.
Adjusting the stack size [ulimit -S -s unlimited] does not fix the issue.
Thanks,
Thomas Hintz
On Tue, Jan 25, 2011 at 8:57 AM, Sven Hartrumpf
<address@hidden> wrote:
Hi.
Tue, 25 Jan 2011 08:34:42 -0500, t wrote:
>> What does ulimit -a report?
>
> core file size (blocks, -c) 0
> data seg size (kbytes, -d) unlimited
> scheduling priority (-e) 20
> file size (blocks, -f) unlimited
> pending signals (-i) 7939
> max locked memory (kbytes, -l) 64
> max memory size (kbytes, -m) unlimited
> open files (-n) 1024
> pipe size (512 bytes, -p) 8
> POSIX message queues (bytes, -q) 819200
> real-time priority (-r) 0
> stack size (kbytes, -s) 8192
> cpu time (seconds, -t) unlimited
> max user processes (-u) 7939
> virtual memory (kbytes, -v) unlimited
> file locks (-x) unlimited
OK, but the small stack size could be problematic for some Scheme systems.
(I don't remember how Chicken behaves here.)
Try with:
ulimit -S -s unlimited
>> tchmgr get the-db key
>
> returns value; which means tch works...
Yes.
Sven