Installing Phusion Passenger and nginx on Mac OS X

I was trying to install Phusion Passenger and nginx on Mac OS X 10.8.2, using the Passenger installer for nginx, and kept running into this error:

  $ passenger-install-nginx-module
  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

The Googles turned up a blog post from Phusion about what appeared to be the same problem. Applying their suggested fix (downloading pcre.h and copying it to /usr/include) didn’t help, unfortunately.

I happened to stumble across a Github issue about a different nginx module that provided a tantalizing hint:

If the problem persists, please check that if you have multiple versions of PCRE installed in your system.

There was a version of pcre installed via Homebrew already on my system. I had apparently installed it for something I had since uninstalled, because I was able to remove it without complaint. Running the Passenger installer for nginx this time was more successful:

  $ passenger-install-nginx-module
  PCRE (required by Nginx) not installed, downloading it...
  Nginx with Passenger support was successfully installed.

It looks like pcre installed via Homebrew confuses the Passenger installer; removing pcre allows the installer to download all the pieces it needs to a place it can find them.

Now, to see how it runs.




1、gem install passenger 


      Compiling and installing Nginx...

      # sh ./configure --prefix='/opt/nginx' --with-http_ssl_module --with-http_gzip_static_module --with-cc-opt='-Wno-error' --add-module='/Users/xxxx/.rvm/gems/ruby-1.9.3-p374/gems/passenger-3.0.17/ext/nginx' --with-pcre='/Users/xxxx/Downloads/packages/pcre-8.32' 


  • 广告
  • 抄袭
  • 版权
  • 政治
  • 色情
  • 无意义
  • 其他