2012-12-13 13 views
9

Come posso installare con successo Mongrel per Ruby 1.9.3Installare Mongrel in Ruby 1.9.3

Ecco l'errore:

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 

ho già provato sudo gem install mongrel --pre e anche quella che ha --source

Non so perché non funziona. È compatibile con Ruby 1.9.1 e versioni successive?

risposta

10

You are not alone. Nella discussione, tuttavia, c'è a link to a possible fix. Non l'ho provato in modo YMMV, ma sembra una soluzione plausibile.

Dato che Mongrel non viene più aggiornato, tuttavia, perché non passare a qualcosa come Thin?

Modifica: Spiacente, vedo che mi stai chiedendo di 1.9.3. La mia comprensione è che Mongrel è (dovrebbe essere) compatibile con fino a 1.9.1, ma rotto in 1.9.2+. Ancora un altro buon motivo per passare a qualcosa di più moderno e mantenuto.

1

Come indicato da John B, passare a Sottile.

Dopo aver non potuto installare Mongrel con il mio attuale set up con Ruby 1.9.3, ho commentato Mongrel dal mio Gemfile e aggiunto Thin. Ciò consente alla mia app di installarsi e funzionare alla grande.

Nel mio Gemfile

#gem 'mongrel', '1.2.0.pre2' 
gem 'thin' 

quindi eseguire

bundle install 
Problemi correlati