2012-06-16 8 views
8

An einem Punkt hatte ich alles in Ordnung auf meinem System mit NGINX, Rails und Passenger.Passagier NGINX-Modul fehlgeschlagen

Gestern habe ich eine neue Installation von Passenger, und jetzt passenger-install-nginx-module schlägt fehl.

/Users/mgaughan/.rbenv/versions/1.9.3-p125/lib/ruby/gems/1.9.1/gems/passenger-3.0.13/ext/nginx/../common/libpassenger_common.a /Users/mgaughan/.rbenv/versions/1.9.3-p125/lib/ruby/gems/1.9.1/gems/passenger-3.0.13/ext/nginx/../common/libboost_oxt.a -lstdc++ -  lpthread -lm -lpcre -lssl -lcrypto -lz 
Undefined symbols for architecture x86_64: 
"_pcre_free_study", referenced from: 
    _ngx_pcre_free_studies in ngx_regex.o 
ld: symbol(s) not found for architecture x86_64 
collect2: ld returned 1 exit status 
make[1]: *** [objs/nginx] Error 1 
make: *** [build] Error 2 

Das genaue Problem wurde gestern auf ServerFault geschrieben, aber ich denke, dass es wahrscheinlicher ist, hier zu beantworten (ich entschuldige mich, wenn das ein Problem ist).

https://serverfault.com/questions/399304/cannot-install-phusion-passenger-3-0-13-with-nginx-1-2-1

Vielen Dank für jede Hilfe.

+0

hast du libpcre installiert? Hast du es aktiviert? – chrislovecnm

+0

Ich habe ein Mac OS und habe pcre durch brew installiert ... Ich kann libpcre nicht finden (zumindest nicht mit brauen). Wenn ich habe, was ich brauche, wie stelle ich sicher, dass es aktiviert ist? – mgaughan

Antwort

6

Ich sehe NGINX hat eine ticket für diese, die geschlossen wurde, aber die Lösung hat nicht für mich funktioniert.

Ich habe jedoch NGINX mit Passenger wieder in Betrieb genommen, indem ich eine benutzerdefinierte Installation ausgeführt habe. Es ist offensichtlich ein Kompatibilitätsproblem mit Versionen 2 und höher.

Zuerst habe ich nur die NGINX-Quelle (1.0.15) heruntergezogen.

In meinem/usr/local

wget http://www.nginx.org/download/nginx-1.0.15.tar.gz nginx_source 

Untar

tar -xvz nginx-1.0.15.tar.gz 

dann die Passagier Installation ausgeführt. Die Wahl der Option 2 (Customized einbau)

sudo passenger-install-nginx-module 

Es fordert es, wo die Quelle ist /usr/local/nginx-1.0.15 und wo Sie wollen es /usr/local/nginx installiert ist (in meinem Fall).

Alles funktionierte gut von dort, irgendjemand weiß von irgendwelchen wirklichen örtlich festgelegten für NGINX 2, informieren Sie mich bitte.

+1

Das Problem möglicherweise mit der Version von PCRE, die installiert ist. Froh, dass du etwas hast arbeiten – chrislovecnm

+1

Ich stellte sicher, dass pcre aktualisiert wurde mit einem brew update pcre – mgaughan

+0

Großartig! Vielen Dank! Ich habe gerade zwei Stunden damit verbracht, es auf Mac OS x Löwe – Flov

6
brew install pcre 

wenn Config Schritt auch

--with-pcre --with-ipv6 --with-ld-opt=-L/usr/local/lib 

fügen Sie es auch mit-ld-opt als Homebrew verwenden, ist es nicht perfekt.

können auch einen Blick auf http://wiki.nginx.org/InstallOptions

+0

Die "--with-ld-opt" -Flagge, die du erwähnt hast, hat es für mich repariert. –