2012-06-16 23 views
8

En un momento dado, tuve todo funcionando correctamente en mi sistema con NGINX, Rails y Passenger.Módulo NGINX de pasajero que falla

Ayer hice una nueva instalación de Passenger, y ahora passenger-install-nginx-module falla.

/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 

Este problema exacto fue publicada ayer en ServerFault, pero yo creo que es más probable que sea respondida aquí (me disculpo si esto es un problema).

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

Gracias por cualquier ayuda.

+0

Cómo se ha instalado libpcre? ¿Lo tienes habilitado? – chrislovecnm

+0

Estoy ejecutando un Mac OS y he instalado pcre through brew ... No puedo encontrar libpcre (al menos no con brew). Si tengo lo que necesito, ¿cómo me aseguro de que esté habilitado? – mgaughan

Respuesta

6

Veo que NGINX tiene un ticket para esto que se ha cerrado, pero la solución no funcionó para mí.

Sin embargo, logré que NGINX volviera a funcionar con Passenger ejecutando una instalación personalizada. Obviamente es un problema de compatibilidad con las versiones 2 en adelante.

Primero acabo de extraer la fuente NGINX (1.0.15).

En mi/usr/local

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

Descomprimir

tar -xvz nginx-1.0.15.tar.gz 

A continuación, ejecute la instalación de pasajeros. La elección de la opción 2 (Instalación personalizada)

sudo passenger-install-nginx-module 

Hay que solicita que la fuente es /usr/local/nginx-1.0.15 y donde desea instalarlo /usr/local/nginx (en mi caso).

Todo funcionó bien a partir de ahí, cualquiera sabe de algún problema real para NGINX 2, por favor avíseme.

+1

El problema puede ser con la versión de pcre que está instalada. Me alegro de que haya algo que funcione – chrislovecnm

+1

Me aseguré de que pcre se actualizó con una actualización brew pcre – mgaughan

+0

¡Genial! ¡Gracias! Acabo de pasar dos horas intentando construirlo en mac os x lion – Flov

6
brew install pcre 

cuando config Paso también se suman

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

también utilizar con-ld-opt como homebrew, que no es perfecto.

también puede echar un vistazo a http://wiki.nginx.org/InstallOptions

+0

La bandera '--with-ld-opt' que mencionó fue lo que me solucionó. –

Cuestiones relacionadas