有一次,我使用NGINX、Rails和Passenger在我的系统上运行得很好。
昨天我重新安装了Passenger,现在passenger-install-nginx-module失败了。
/.rbenv/versions/1.9.3-p125/lib/ruby/gems/1.9.1/gems/passenger-3.0.13/ext/nginx/../common/libpassenger_common.a /.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这个确切的问题昨天发布在ServerFault上,但我认为它更有可能在这里得到回答(如果这是一个问题,我道歉)。
https://serverfault.com/questions/399304/cannot-install-phusion-passenger-3-0-13-with-nginx-1-2-1
谢谢你的帮助。
发布于 2012-06-17 06:25:10
我看到NGINX有一个已经关闭的ticket,但是这个解决方案对我不起作用。
不过,我还是通过运行一个定制的安装让NGINX重新与Passenger一起运行。这显然是一个与版本2和更高版本的兼容性问题。
首先,我刚刚下载了NGINX源代码(1.0.15)。
在我的/usr/local中
wget http://www.nginx.org/download/nginx-1.0.15.tar.gz nginx_sourceUntar
tar -xvz nginx-1.0.15.tar.gz然后运行passenger安装。选择选项2(自定义分期付款)
sudo passenger-install-nginx-module在这里,它会提示您将源文件安装到/usr/local/nginx-1.0.15的哪个位置,以及您希望将其安装到/usr/local/nginx的哪个位置(在我的例子中)。
从那时起,一切都运行得很好,任何人知道NGINX 2的任何真正修复,请让我知道。
发布于 2012-09-02 23:12:08
brew install pcre当配置步骤也添加
--with-pcre --with-ipv6 --with-ld-opt=-L/usr/local/lib它还将-ld-opt用作自制程序,这并不完美。
也可以看看http://wiki.nginx.org/InstallOptions
https://stackoverflow.com/questions/11065037
复制相似问题