Tokyocabinet installation issue

196 views
Skip to first unread message

mahesh

unread,
Jun 13, 2011, 2:30:52 AM6/13/11
to Bloom Language
Hi,

When I try to install tokyocabinet for rails using "gem install
tokyocabinet" I am getting the following issue can can some one help
out regarding this.

Building native extensions. This could take a while...
ERROR: Error installing tokyocabinet:
ERROR: Failed to build gem native extension.

/usr/bin/ruby1.8 extconf.rb
setting variables ...
$CFLAGS = -I. -I/usr/include -Wall -fno-strict-aliasing -g -g -O2 -
fPIC $(cflags) -O2
$LDFLAGS = -L. -Wl,-Bsymbolic-functions -rdynamic -Wl,-export-
dynamic -L. -L/usr/lib
$libs = -ltokyocabinet -lbz2 -lz -lrt -lpthread -lm -lc
checking for tcutil.h... yes
creating Makefile

make
gcc -I. -I/usr/lib/ruby/1.8/x86_64-linux -I/usr/lib/ruby/1.8/x86_64-
linux -I. -DHAVE_TCUTIL_H -fPIC -I. -I/usr/include -Wall -fno-
strict-aliasing -g -g -O2 -fPIC -O2 -c tokyocabinet.c
tokyocabinet.c: In function ‘tdb_init’:
tokyocabinet.c:2553: error: ‘TDBITTOKEN’ undeclared (first use in this
function)
tokyocabinet.c:2553: error: (Each undeclared identifier is reported
only once
tokyocabinet.c:2553: error: for each function it appears in.)
tokyocabinet.c:2554: error: ‘TDBITQGRAM’ undeclared (first use in this
function)
tokyocabinet.c: In function ‘tdbqry_init’:
tokyocabinet.c:3139: error: ‘TDBQCFTSPH’ undeclared (first use in this
function)
tokyocabinet.c:3140: error: ‘TDBQCFTSAND’ undeclared (first use in
this function)
tokyocabinet.c:3141: error: ‘TDBQCFTSOR’ undeclared (first use in this
function)
tokyocabinet.c:3142: error: ‘TDBQCFTSEX’ undeclared (first use in this
function)
tokyocabinet.c:3152: error: ‘TDBMSUNION’ undeclared (first use in this
function)
tokyocabinet.c:3153: error: ‘TDBMSISECT’ undeclared (first use in this
function)
tokyocabinet.c:3154: error: ‘TDBMSDIFF’ undeclared (first use in this
function)
tokyocabinet.c:3155: error: ‘TCKWMUTAB’ undeclared (first use in this
function)
tokyocabinet.c:3156: error: ‘TCKWMUCTRL’ undeclared (first use in this
function)
tokyocabinet.c:3157: error: ‘TCKWMUBRCT’ undeclared (first use in this
function)
tokyocabinet.c:3158: error: ‘TCKWNOOVER’ undeclared (first use in this
function)
tokyocabinet.c:3159: error: ‘TCKWPULEAD’ undeclared (first use in this
function)
tokyocabinet.c: In function ‘tdbqry_metasearch’:
tokyocabinet.c:3300: error: ‘TDBMSUNION’ undeclared (first use in this
function)
tokyocabinet.c:3314: warning: implicit declaration of function
‘tctdbmetasearch’
tokyocabinet.c:3314: warning: assignment makes pointer from integer
without a cast
tokyocabinet.c: In function ‘tdbqry_kwic’:
tokyocabinet.c:3345: error: ‘TCKWNOOVER’ undeclared (first use in this
function)
tokyocabinet.c:3345: error: ‘TCKWPULEAD’ undeclared (first use in this
function)
tokyocabinet.c:3349: warning: implicit declaration of function
‘tctdbqrykwic’
tokyocabinet.c:3349: warning: initialization makes pointer from
integer without a cast
make: *** [tokyocabinet.o] Error 1


Gem files will remain installed in /usr/lib/ruby/gems/1.8/gems/
tokyocabinet-1.29 for inspection.
Results logged to /usr/lib/ruby/gems/1.8/gems/tokyocabinet-1.29/./
gem_make.out

Krishna Kumar

unread,
Jun 13, 2011, 6:36:48 AM6/13/11
to bloom...@googlegroups.com
You need to recompile the latest source of TokyoCabinet, Mahesh. These #defines are available in the latest code. This issue has been discussed in the groups, before, browse, you'll find the posts. 

Alternatively, you could install the latest version of bud(0.0.4). It has no dependency on Tokyocabinet, AFAIK. You'll need to "gem install dbm" , before you install bud 0.0.4, though. 

(I had an older version of bud installed, so a "gem install bud" and "gem install dbm" worked for me(maybe the old Tokyocabinet was picked up, which I had installed from latest source).) - But I remember a post about 0.0.4 saying that it no more depends upon TokyoCabinet. (This is a posting on June 6, 2011, take a look). 

My 2 cents, 
Krishna 

mahesh

unread,
Jun 14, 2011, 5:15:16 AM6/14/11
to Bloom Language
Thank you krishna for your kind response.

Already I have installed dbm and bud but no use. I am trying to
deploy the opendatakit-build application locally Which is dependent on
tokyocabinet. When I run this application I am getting the following
error

Function 'tctdbmetasearch' not found in [/usr/lib/libtokyocabinet.so.
8, /usr/lib/libtokyocabinet.so, /usr/lib/libtokyocabinet.so.8.14.0, /
usr/lib64/libtokyocabinet.so.8, /usr/lib64/libtokyocabinet.so, /usr/
lib64/libtokyocabinet.so.8.14.0]

Can you please give me some solution to resolve this.

Thanks,
Mahesh

Joe Hellerstein

unread,
Jun 14, 2011, 11:39:35 AM6/14/11
to bloom...@googlegroups.com
This sounds like it's not a bud issue, but rather a TokyoCabinet+ODK issue, so you may get better help from one of those communities.

That said, I did a little googling and according to http://www.omachonuogali.com/oss/tokyocabinet/1.4.41/ChangeLog, the metasearch feature was added to TokyoCabinet in version 1.4.30. Perhaps you've installed an older version of TokyoCabinet?

Meanwhile, we'd be curious to hear how you're using bud and ODK together -- sounds interesting!

Joe

Reply all
Reply to author
Forward
0 new messages