如何成功安装Mongrel for
ruby 1.9.3
这是错误:
Building native extensions. This could take a while... ERROR: Error installing mongrel: ERROR: Failed to build gem native extension. /usr/bin/ruby1.9.1 extconf.rb checking for main() in -lc... yes creating Makefile make compiling http11_parser.c compiling http11.c http11.c: In function ‘http_field’: http11.c:70:3: error: format not a string literal and no format arguments [-Werror=format-security] http11.c:71:3: error: format not a string literal and no format arguments [-Werror=format-security] http11.c:77:22: error: ‘struct RString’ has no member named ‘ptr’ http11.c:77:50: error: ‘struct RString’ has no member named ‘len’ http11.c:77:27: warning: left-hand operand of comma expression has no effect [-Wunused-value] http11.c: In function ‘request_uri’: http11.c:102:3: error: format not a string literal and no format arguments [-Werror=format-security] http11.c: In function ‘fragment’: http11.c:113:3: error: format not a string literal and no format arguments [-Werror=format-security] http11.c: In function ‘request_path’: http11.c:124:3: error: format not a string literal and no format arguments [-Werror=format-security] http11.c: In function ‘query_string’: http11.c:135:3: error: format not a string literal and no format arguments [-Werror=format-security] http11.c: In function ‘header_done’: http11.c:172:13: error: ‘struct RString’ has no member named ‘ptr’ http11.c:172:13: error: ‘struct RString’ has no member named ‘ptr’ http11.c:172:13: error: ‘struct RString’ has no member named ‘ptr’ http11.c:174:89: error: ‘struct RString’ has no member named ‘ptr’ http11.c:176:52: error: ‘struct RString’ has no member named ‘ptr’ http11.c:177:26: error: ‘struct RString’ has no member named ‘len’ http11.c: In function ‘HttpParser_execute’: http11.c:298:23: error: ‘struct RString’ has no member named ‘ptr’ http11.c:299:23: error: ‘struct RString’ has no member named ‘len’ http11.c:307:5: error: format not a string literal and no format arguments [-Werror=format-security] cc1: some warnings being treated as errors make: *** [http11.o] Error 1 Gem files will remain installed in /var/lib/gems/1.9.1/gems/mongrel-1.1.5 for inspection. Results logged to /var/lib/gems/1.9.1/gems/mongrel-1.1.5/ext/http11/gem_make.out
我已经尝试过sudo gem安装mongrel –pre
甚至是有源的
我不知道为什么它不工作是否与Ruby 1.9.1兼容?
解决方法
You are not alone.在线上,有
a link to a possible fix.我没有试过这样YMMV,但它似乎是一个合理的修复.
鉴于Mongrel不再被更新,为什么不切换到像Thin这样的东西?
编辑:对不起,我看到你问1.9.3.我的理解是,Mongrel(应该是)兼容高达1.9.1,但在1.9.2中打破了.另一个很好的理由转向更现代化和维护的东西.