compile error in memcached gem

gem install memcached

Skipping a lot of compiling information; this was the error we received:

creating Makefile

make
gcc -I. -I/usr/lib/ruby/1.8/i386-linux -I/usr/lib/ruby/1.8/i386-linux -I. -fPIC -I/usr/lib/ruby/gems/1.8/gems/memcached-0.19.2/ext/include -L/usr/lib/ruby/gems/1.8/gems/memcached-0.19.2/ext/lib -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i386 -mtune=generic -fasynchronous-unwind-tables -Wall -fno-strict-aliasing -fPIC -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i386 -mtune=generic -fasynchronous-unwind-tables -Wall -fno-strict-aliasing -fPIC -c rlibmemcached_wrap.c
rlibmemcached_wrap.c: In function '_wrap_MemcachedSt_sasl_callbacks_set':
rlibmemcached_wrap.c:6669: error: 'sasl_callback_t' undeclared (first use in this function)
rlibmemcached_wrap.c:6669: error: (Each undeclared identifier is reported only once
rlibmemcached_wrap.c:6669: error: for each function it appears in.)
rlibmemcached_wrap.c:6669: error: 'arg2' undeclared (first use in this function)
rlibmemcached_wrap.c:6669: error: expected expression before ')' token
rlibmemcached_wrap.c:6687: error: expected expression before ')' token
rlibmemcached_wrap.c:6688: error: 'struct memcached_st' has no member named 'sasl_callbacks'
rlibmemcached_wrap.c:6688: error: expected ')' before 'const'
rlibmemcached_wrap.c:6688: error: expected ';' before 'arg2'
rlibmemcached_wrap.c: In function '_wrap_MemcachedSt_sasl_callbacks_get':
rlibmemcached_wrap.c:6700: error: 'sasl_callback_t' undeclared (first use in this function)
rlibmemcached_wrap.c:6700: error: 'result' undeclared (first use in this function)
rlibmemcached_wrap.c:6711: error: expected expression before ')' token
rlibmemcached_wrap.c:6711: error: 'struct memcached_st' has no member named 'sasl_callbacks'
rlibmemcached_wrap.c: In function '_wrap_memcached_set_sasl_callbacks':
rlibmemcached_wrap.c:12021: error: 'sasl_callback_t' undeclared (first use in this function)
rlibmemcached_wrap.c:12021: error: 'arg2' undeclared (first use in this function)
rlibmemcached_wrap.c:12021: error: expected expression before ')' token
rlibmemcached_wrap.c:12039: error: expected expression before ')' token
rlibmemcached_wrap.c:12040: warning: implicit declaration of function 'memcached_set_sasl_callbacks'
rlibmemcached_wrap.c:12040: error: expected ')' before 'const'
rlibmemcached_wrap.c:12040: error: expected ')' before 'arg2'
rlibmemcached_wrap.c: In function '_wrap_memcached_set_sasl_auth_data':
rlibmemcached_wrap.c:12081: warning: implicit declaration of function 'memcached_set_sasl_auth_data'
rlibmemcached_wrap.c: In function '_wrap_memcached_destroy_sasl_auth_data':
rlibmemcached_wrap.c:12109: warning: implicit declaration of function 'memcached_destroy_sasl_auth_data'
rlibmemcached_wrap.c: In function '_wrap_memcached_get_sasl_callbacks':
rlibmemcached_wrap.c:12122: error: 'sasl_callback_t' undeclared (first use in this function)
rlibmemcached_wrap.c:12122: error: 'result' undeclared (first use in this function)
rlibmemcached_wrap.c:12133: error: expected expression before ')' token
rlibmemcached_wrap.c: In function '_wrap_memcached_sasl_authenticate_connection':
rlibmemcached_wrap.c:12157: warning: implicit declaration of function 'memcached_sasl_authenticate_connection'
rlibmemcached_wrap.c: In function 'Init_rlibmemcached':
rlibmemcached_wrap.c:13285: warning: implicit declaration of function 'sasl_client_init'
rlibmemcached_wrap.c:13285: error: 'SASL_OK' undeclared (first use in this function)
make: *** [rlibmemcached_wrap.o] Error 1

Gem files will remain installed in /usr/lib/ruby/gems/1.8/gems/memcached-0.19.2 for inspection.
Results logged to /usr/lib/ruby/gems/1.8/gems/memcached-0.19.2/ext/gem_make.out
解决办法:
sudo apt-get install libsasl2-dev

你可能感兴趣的:(memcached)