Problems installing mongrel in Ruby 1.9.1 on Mac OS

Problems installing mongrel in Ruby 1.9.1 on Mac OS Hello guys,

When I run “gem install mongrel”, I get the following error:

Building native extensions. This could take a while…

ERROR: Error installing mongrel:

ERROR: Failed to build gem native extension.

/usr/local/bin/ruby extconf.rb

checking for main() in -lc… yes

creating Makefile

make

gcc -I. -I/usr/local/include/ruby-1.9.1/i386-darwin9.7.0 -I/usr/local/include/ruby-1.9.1/ruby/backward -I/usr/local/include/ruby-1.9.1 -I. -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -fno-common -D_XOPEN_SOURCE=1 -O2 -g -Wall -Wno-parentheses -fno-common -pipe -fno-common -o http11.o -c http11.c

http11.c: In function ‘http_field’:

http11.c:77: error: ‘struct RString’ has no member named ‘ptr’

http11.c:77: error: ‘struct RString’ has no member named ‘len’

http11.c:77: warning: left-hand operand of comma expression has no effect

http11.c:77: warning: statement with no effect

http11.c: In function ‘header_done’:

http11.c:172: error: ‘struct RString’ has no member named ‘ptr’

http11.c:174: error: ‘struct RString’ has no member named ‘ptr’

http11.c:176: error: ‘struct RString’ has no member named ‘ptr’

http11.c:177: error: ‘struct RString’ has no member named ‘len’

http11.c: In function ‘HttpParser_execute’:

http11.c:298: error: ‘struct RString’ has no member named ‘ptr’

http11.c:299: error: ‘struct RString’ has no member named ‘len’

make: *** [http11.o] Error 1

Any ideas why?

The rest of the gems install ok.

I am using Ruby 1.9.1 on Mac OS 10.5.7.

Thanks,

GA

Problems installing mongrel in Ruby 1.9.1 on Mac OS There may be something of use to you on this page:

http://isitruby19.com/mongrel

HTH,

-Roy

Hi, you might want to try installing Thin and use it in place of Mongrel:

sudo gem install thin

Good luck,

-Conrad

Hi check the instructions on my blog rubynyc.wordpress.com it has many other gems fixes for 1.9.1

you can install thin server, but you won't be able to see the log like in mongrel you will lose the debugger, since its not compatible with 1.9 yet

Ami Mahloof

To fix this:

1) cd /usr/local/lib/ruby/gems/1.9.1/gems/mongrel-1.1.5/ext/http11 2) sudo vi / mate on http11.c and: replace line 77 with for(ch = RSTRING_PTR(f), end = ch + RSTRING_LEN(f); ch < end; ch++) { replace line 172 with colon = strchr(RSTRING_PTR(temp), ':'); replace line 174 with rb_hash_aset(req, global_server_name, rb_str_substr(temp, 0, colon - RSTRING_PTR(temp))); replce line 176,177 rb_str_substr(temp, colon - RSTRING_PTR(temp)+1, RSTRING_LEN(temp))); replace lines 298 299 dptr = RSTRING_PTR(data); dlen = RSTRING_LEN(data); 3) save the file, close the vi / textmate 4) sudo ruby extconf.rb && sudo make && sudo make install 5) cd ../../lib/mongrel (or the full path "/usr/local/lib/ruby/gems/1.9.1/gems/mongrel-1.1.5/lib/mongrel" 6) mate / sudo vi handlers.rb 7) fix the case statements in On lines 208-212, change instances of ": false" to "then false"

As a note, this works on all OS versions (windows/linux/mac).

Just browse to those listings (the notes above are for linux but you can translate them easy enough. Just find the files and change the lines as noted above, and it will work for you.

I've accomplished this on Windows Vista, Linux CentOS 5, Linux Ubuntu Hardy, and my friend has it working on the latest MAC OS.

I tried this and it seems to have worked for me. Thank god to whoever posted this!

Cris

Alpha Blue wrote:

Alpha Blue wrote:

As a note, this works on all OS versions (windows/linux/mac).

Just browse to those listings (the notes above are for linux but you can translate them easy enough. Just find the files and change the lines as noted above, and it will work for you.

I've accomplished this on Windows Vista, Linux CentOS 5, Linux Ubuntu Hardy, and my friend has it working on the latest MAC OS.

Thanks for the hard part! I have assembled your fix into a unified patch that can be easily applied to mongrel-1.1.5:

http://github.com/gamache/mongrel-115-to-ruby-19

Hope this helps.

-pete gamache tack weld my last name to google's free email domain