# Ruby version 1.9.2 dev with memcached-0.1.18 native compilation error/syntax errors

**URL:** <https://www.ruby-forum.com/t/ruby-version-1-9-2-dev-with-memcached-0-1-18-native-compilation-error-syntax-errors/183957>\
**Category:** Ruby\
**Created:** [February 23, 2010, 2:13am UTC](https://www.ruby-forum.com/t/ruby-version-1-9-2-dev-with-memcached-0-1-18-native-compilation-error-syntax-errors/183957 "2010-02-23T02:13:29Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![Andrew\_Milkowski](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/47e85d/32.png) [@Andrew\_Milkowski](https://www.ruby-forum.com/u/Andrew_Milkowski)\
**Post date:** [February 23, 2010, 2:13am UTC](https://www.ruby-forum.com/t/ruby-version-1-9-2-dev-with-memcached-0-1-18-native-compilation-error-syntax-errors/183957/1 "2010-02-23T02:13:29Z")

</div>

Hi there

Hopefully these errors somehow relate to REE, if not, highly  
appreciate any feedback and a direction!

Installed latest (from git master) enterprise server and attempting to  
build memcached-0.18.0 with ruby compiler version 1.9.2 dev ,  
encountered 2 exceptions (one during native compilation of memcached  
gem and second during ruby compilation of memcached rails.rb (syntax  
error on the usage of alias)

Symptom 1: errors during gem execution of memcache gem

Symptom 2: errors during ruby compilation of memcached .rb file

Using environment:

A) Ruby Server deployment

using ruby enterprise server compiled from sources (git repo:  
git://github.com/FooBarWidget/rubyenterpriseedition187.git) with  
tmalloc: libtcmalloc\_minimal.a compiled from sources:  
[http://google-perftools.googlecode.com/svn/trunk](http://google-perftools.googlecode.com/svn/trunk) (google-perftools:  
version 1.5 release)

B) OS, Ruby, Gem versions

bash-3.2$ sw\_vers;ruby -v; gem -v  
ProductName: Mac OS X  
ProductVersion: 10.6.2  
BuildVersion: 10C540  
ruby 1.9.2dev (2010-02-21 trunk 26721) [x86\_64-darwin10.2.0]  
1.3.5  
bash-3.2$

C) Ruby local env

bash-3.2$ gem list

\*\*\* LOCAL GEMS \*\*\*

actionmailer (2.3.5)  
actionpack (2.3.5)  
activerecord (2.3.5)  
activeresource (2.3.5)  
activesupport (2.3.5)  
fastthread (1.0.7)  
minitest (1.5.0)  
passenger (2.2.10, 2.2.9)  
rack (1.0.1)  
rails (2.3.5)  
rake (0.8.7)  
rdoc (2.2.2)  
bash-3.2$

bash-3.2$ which ruby  
/opt/local/src/rubyenterpriseserver/current/bin/ruby  
bash-3.2$ which gem  
/opt/local/src/rubyenterpriseserver/current/bin/gem  
bash-3.2$

* * *

Steps to reproduce symptom 1:

1. command and stack trace (truncated warning errors showing partial  
error stack exception)

bash-3.2$ gem install memcached  
Building native extensions. This could take a while…  
/opt/local/src/rubyenterpriseserver/trunk/build/lib/ruby/1.9.1/  
rubygems/ext/builder.rb:46: warning: Insecure world writable dir /opt/  
local/src/mysql/current in PATH, mode 040777  
ERROR: Error installing memcached:  
ERROR: Failed to build gem native extension.

/opt/local/src/rubyenterpriseserver/trunk/build/bin/ruby extconf.rb  
extconf.rb:55: warning: Insecure world writable dir /opt/local/src/  
mysql/current in PATH, mode 040777  
Libmemcached already built; run ‘rake clean’ first if you need to  
rebuild.  
creating Makefile

make  
gcc -I. -I/opt/local/src/rubyenterpriseserver/trunk/build/include/  
ruby-1.9.1/x86\_64-darwin10.2.0 -I/opt/local/src/rubyenterpriseserver/  
trunk/build/include/ruby-1.9.1/ruby/backward -I/opt/local/src/  
rubyenterpriseserver/trunk/build/include/ruby-1.9.1 -I. -fno-common -  
I/opt/local/src/rubyenterpriseserver/trunk/build/gems/memcached-0.18.0/  
ext/include -L/opt/local/src/rubyenterpriseserver/trunk/build/gems/  
memcached-0.18.0/ext/lib -g -O2 -pipe -g -O2 -pipe -o  
rlibmemcached\_wrap.o -c rlibmemcached\_wrap.c  
rlibmemcached\_wrap.c: In function  
â€˜\_wrap\_MemcachedAnalysisSt\_average\_item\_size\_setâ€™:  
rlibmemcached\_wrap.c:2319: warning: format not a string literal and no  
format arguments  
rlibmemcached\_wrap.c:2325: warning: format not a string literal and no  
format arguments  
rlibmemcached\_wrap.c:2328: warning: format not a string literal and no  
format arguments

…  
…

gcc -dynamic -bundle -o rlibmemcached.bundle rlibmemcached\_wrap.o -L/  
opt/local/src/rubyenterpriseserver/trunk/build/gems/memcached-0.18.0/  
ext/lib -L/opt/local/src/rubyenterpriseserver/trunk/build/gems/  
memcached-0.18.0/ext/lib -L. -L/opt/local/src/google-perftools/current/  
lib -L. -L/opt/local/src/google-perftools/current/lib -lpthread -ldl  
-lobjc -lmemcached\_gem  
Undefined symbols:  
“\_rb\_gv\_get”, referenced from:  
\_Init\_rlibmemcached in rlibmemcached\_wrap.o  
\_Init\_rlibmemcached in rlibmemcached\_wrap.o  
\_Init\_rlibmemcached in rlibmemcached\_wrap.o  
“\_rb\_str\_new\_cstr”, referenced from:  
\_SWIG\_Ruby\_NewClassInstance in rlibmemcached\_wrap.o  
\_SWIG\_Ruby\_NewPointerObj in rlibmemcached\_wrap.o  
\_Ruby\_Format\_TypeError in rlibmemcached\_wrap.o  
\_memcached\_stat\_get\_rvalue in rlibmemcached\_wrap.o  
\_\_wrap\_memcached\_stat\_get\_keys in rlibmemcached\_wrap.o  
“\_rb\_iv\_get”, referenced from:  
\_SWIG\_Ruby\_NewPointerObj in rlibmemcached\_wrap.o  
\_SWIG\_Ruby\_ConvertPtrAndOwn in rlibmemcached\_wrap.o  
“\_rb\_num2long”, referenced from:  
\_SWIG\_Ruby\_NewPointerObj in rlibmemcached\_wrap.o  
\_SWIG\_AUX\_NUM2LONG in rlibmemcached\_wrap.o  
\_\_wrap\_MemcachedServerSt\_next\_retry\_set in rlibmemcached\_wrap.o  
\_\_wrap\_MemcachedResultSt\_expiration\_set in rlibmemcached\_wrap.o  
\_\_wrap\_MemcachedSt\_next\_distribution\_rebuild\_set in  
rlibmemcached\_wrap.o  
\_\_wrap\_memcached\_flush in rlibmemcached\_wrap.o  
\_\_wrap\_memcached\_decrement\_with\_initial in rlibmemcached\_wrap.o  
\_\_wrap\_memcached\_increment\_with\_initial in rlibmemcached\_wrap.o  
\_\_wrap\_memcached\_delete in rlibmemcached\_wrap.o  
\_\_wrap\_memcached\_cas\_by\_key in rlibmemcached\_wrap.o  
\_\_wrap\_memcached\_append\_by\_key in rlibmemcached\_wrap.o  
\_\_wrap\_memcached\_prepend\_by\_key in rlibmemcached\_wrap.o  
\_\_wrap\_memcached\_replace\_by\_key in rlibmemcached\_wrap.o  
\_\_wrap\_memcached\_add\_by\_key in rlibmemcached\_wrap.o  
\_\_wrap\_memcached\_set\_by\_key in rlibmemcached\_wrap.o  
\_\_wrap\_memcached\_cas in rlibmemcached\_wrap.o  
\_\_wrap\_memcached\_prepend in rlibmemcached\_wrap.o  
\_\_wrap\_memcached\_append in rlibmemcached\_wrap.o  
\_\_wrap\_memcached\_replace in rlibmemcached\_wrap.o  
\_\_wrap\_memcached\_add in rlibmemcached\_wrap.o  
\_\_wrap\_memcached\_set in rlibmemcached\_wrap.o  
\_\_wrap\_memcached\_delete\_by\_key in rlibmemcached\_wrap.o  
“\_rb\_raise”, referenced from:  
\_\_wrap\_new\_MemcachedServerSt in rlibmemcached\_wrap.o  
\_\_wrap\_new\_MemcachedResultSt in rlibmemcached\_wrap.o  
\_\_wrap\_new\_MemcachedSt in rlibmemcached\_wrap.o  
\_\_wrap\_new\_MemcachedStatSt in rlibmemcached\_wrap.o  
\_\_wrap\_new\_MemcachedAnalysisSt in rlibmemcached\_wrap.o  
\_\_wrap\_memcached\_generate\_hash\_rvalue in rlibmemcached\_wrap.o  
\_\_wrap\_memcached\_generate\_hash\_rvalue in rlibmemcached\_wrap.o  
\_\_wrap\_memcached\_generate\_hash\_value in rlibmemcached\_wrap.o  
\_\_wrap\_memcached\_generate\_hash\_value in rlibmemcached\_wrap.o  
\_\_wrap\_memcached\_select\_stat\_at in rlibmemcached\_wrap.o  
\_\_wrap\_memcached\_select\_stat\_at in rlibmemcached\_wrap.o  
\_\_wrap\_memcached\_select\_server\_at in rlibmemcached\_wrap.o  
\_\_wrap\_memcached\_select\_server\_at in rlibmemcached\_wrap.o  
\_\_wrap\_memcached\_server\_clone in rlibmemcached\_wrap.o  
\_\_wrap\_memcached\_server\_clone in rlibmemcached\_wrap.o  
\_\_wrap\_memcached\_server\_free in rlibmemcached\_wrap.o  
\_\_wrap\_memcached\_server\_free in rlibmemcached\_wrap.o  
\_\_wrap\_memcached\_server\_create in rlibmemcached\_wrap.o

… exception trace truncated

1. Step to reproduce symptom 2

error while compiling ruby class using memcached gem library (uses  
memcached-gem project from : git://github.com/fauna/memcached.git

syntax errors on rails.rb

had to replace lines with following resulting in clean compilation  
(did anything change in ruby 1.9.2 regarding alias syntax?)

Description Resource Path Location Type  
syntax error, unexpected tSTRING\_CONTENT rails.rb  
/memcached-gem/lib/  
memcached line 110 DLTK Problem

line 110: alias :“[]” :get

replaced with

# alias :“[]” :get

# alias :“[]=” :set

alias :[] :get  
alias :[]= :set
