"Jose Avila(Tachu)" <tachu at crowdstar.com>
wrote:> Hi Guys we currently have a farm of servers that run 0.990.0 and new ones
that started running 0.991.0 Since 0.991.0 We get this error
>
> unicorn_rails worker[24] -c config/unicorn.rb -E production: symbol lookup
error: /usr/lib64/ruby/gems/1.8/gems/unicorn-
> 0.991.0/lib/unicorn_http.so: undefined symbol: rb_str_set_len
>
> Any idea as to why that is happening and how we can fix it?
Hi Jose, I was too aggressive with a cleanup for Rubinius compatibility
that I broke things for 1.8.6 (and possibly before).
I''ve pushed out the following fix and also a 0.991.0.4.g0cb0 prerelease
to RubyGems.org. You can install it with "gem install --pre unicorn"
Let me know how it works for you, thanks for the report!
>From 0cb02efd0e2e2c80667863fd404d1fad7c63bb1f Mon Sep 17 00:00:00 2001
From: Eric Wong <normalperson at yhbt.net>
Date: Sat, 12 Jun 2010 18:32:12 +0000
Subject: [PATCH] http: fix rb_str_set_len() define for 1.8.6
---
ext/unicorn_http/ext_help.h | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/ext/unicorn_http/ext_help.h b/ext/unicorn_http/ext_help.h
index cc157cb..3aa24a8 100644
--- a/ext/unicorn_http/ext_help.h
+++ b/ext/unicorn_http/ext_help.h
@@ -22,6 +22,7 @@ static void rb_18_str_set_len(VALUE str, long len)
RSTRING(str)->len = len;
RSTRING(str)->ptr[len] = ''\0'';
}
+# define rb_str_set_len(str,len) rb_18_str_set_len(str,len)
#endif /* !defined(HAVE_RB_STR_SET_LEN) */
/* not all Ruby implementations support frozen objects (Rubinius does not) */
--
Eric Wong