2013-10-26 42 views
0

尝试使用全新安装的Mavericks在Mac上开发现有的Rails 3.0应用程序。 Passenger Standalone在Mountain Lion下工作正常。我升级到小牛,安装命令行工具,红宝石,打捆等。当我走到这一步:无法在Mac OS X Mavericks上安装乘客独立版3.0.X,nginx编译失败

passenger start 

和乘客试图编译nginx的,它失败了这个错误:

adding module in /Users/ben/.passenger/standalone/3.0.21-x86_64-ruby1.9.3-macosx-10.9/support/ext/nginx 
*** The Phusion Passenger support files are not yet compiled. Compiling them for you... *** 
*** Running 'rake nginx RELEASE=yes' in /Users/ben/.passenger/standalone/3.0.21-x86_64-ruby1.9.3-macosx-10.9/support/ext/nginx... *** 
(in /Users/ben/.passenger/standalone/3.0.21-x86_64-ruby1.9.3-macosx-10.9/support) 
g++ -Iext -D_REENTRANT -I/usr/local/include -DHASH_NAMESPACE="__gnu_cxx" -DHAS_ALLOCA_H -DHAS_SFENCE -DHAS_LFENCE -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-long-long -Wno-missing-field-initializers -g -DPASSENGER_DEBUG -DBOOST_DISABLE_ASSERTS -o ext/common/libboost_oxt/aggregate.o -c ext/common/libboost_oxt/aggregate.cpp 
In file included from ext/common/libboost_oxt/aggregate.cpp:8: 
In file included from ext/oxt/system_calls.cpp:26: 
In file included from ext/boost/thread.hpp:24: 
In file included from ext/boost/thread/future.hpp:14: 
In file included from ext/boost/exception_ptr.hpp:9: 
In file included from ext/boost/exception/detail/exception_ptr.hpp:19: 
In file included from ext/boost/exception/info.hpp:15: 
In file included from ext/boost/exception/to_string_stub.hpp:15: 
In file included from ext/boost/exception/detail/object_hex_dump.hpp:14: 
ext/boost/exception/detail/type_info.hpp:53:9: error: cannot define the implicit default assignment operator for 'boost::exception_detail::type_info_', because non-static reference member 'type_' can't use default assignment operator 
     type_info_ 
     ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/__tree:1246:35: note: in instantiation of member function 'std::__1::pair<boost::exception_detail::type_info_, boost::shared_ptr<boost::exception_detail::error_info_base> >::operator=' requested here 
       __cache->__value_ = *__first; 
           ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/__tree:1187:9: note: in instantiation of function template specialization 'std::__1::__tree<std::__1::pair<boost::exception_detail::type_info_, boost::shared_ptr<boost::exception_detail::error_info_base> >, std::__1::__map_value_compare<boost::exception_detail::type_info_, boost::shared_ptr<boost::exception_detail::error_info_base>, std::__1::less<boost::exception_detail::type_info_>, true>, std::__1::allocator<std::__1::pair<boost::exception_detail::type_info_, boost::shared_ptr<boost::exception_detail::error_info_base> > > >::__assign_multi<std::__1::__tree_const_iterator<std::__1::pair<boost::exception_detail::type_info_, boost::shared_ptr<boost::exception_detail::error_info_base> >, const std::__1::__tree_node<std::__1::pair<boost::exception_detail::type_info_, boost::shared_ptr<boost::exception_detail::error_info_base> >, void *> *, long> >' requested here 
     __assign_multi(__t.begin(), __t.end()); 
     ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/map:766:21: note: in instantiation of member function 'std::__1::__tree<std::__1::pair<boost::exception_detail::type_info_, boost::shared_ptr<boost::exception_detail::error_info_base> >, std::__1::__map_value_compare<boost::exception_detail::type_info_, boost::shared_ptr<boost::exception_detail::error_info_base>, std::__1::less<boost::exception_detail::type_info_>, true>, std::__1::allocator<std::__1::pair<boost::exception_detail::type_info_, boost::shared_ptr<boost::exception_detail::error_info_base> > > >::operator=' requested here 
      __tree_ = __m.__tree_; 
        ^
ext/boost/exception/info.hpp:160:26: note: in instantiation of member function 'std::__1::map<boost::exception_detail::type_info_, boost::shared_ptr<boost::exception_detail::error_info_base>, std::__1::less<boost::exception_detail::type_info_>, std::__1::allocator<std::__1::pair<const boost::exception_detail::type_info_, boost::shared_ptr<boost::exception_detail::error_info_base> > > >::operator=' requested here 
       c->info_ = info_; 
         ^
ext/boost/exception/detail/type_info.hpp:55:41: note: declared here 
      detail::sp_typeinfo const & type_; 
             ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/utility:255:15: note: implicit default copy assignment operator for 'boost::exception_detail::type_info_' first required here 
     first = __p.first; 
      ^
1 error generated. 
rake aborted! 
Command failed with status (1): [g++ -Iext -D_REENTRANT -I/usr/local/inclu...] 

Tasks: TOP => nginx => agents/nginx/PassengerHelperAgent => ext/common/libboost_oxt.a => ext/common/libboost_oxt/aggregate.o 
(See full trace by running task with --trace) 
*** ERROR: command failed: sh ./configure --prefix=/tmp --with-cc-opt='-Wno-error' --without-pcre --without-http_rewrite_module --without-http_fastcgi_module '--add-module=/Users/ben/.passenger/standalone/3.0.21-x86_64-ruby1.9.3-macosx-10.9/support/ext/nginx' 

回答

1

您正在使用Phusion Passenger 3.0.21。该版本在小牛队中无效。改为升级到4.0.21。顺便说一下,这些日子推荐的在OS X上安装Passenger的方法是通过Homebrew。按照指南https://www.phusionpassenger.com/download#open_source

+0

感谢您的答复。在3.0.X分支上会不会有一个Mavericks兼容版本的Passenger,或者你只是打算在4.X分支上支持它?我们遇到一些麻烦让我们的应用程序运行在4.0.21上,因为乘客似乎认为我们的应用程序是Rails 1或2而不是Rails 3.我们没有config.ru文件,并且以某种方式导致检测问题。 – Ben

+0

我们现在只支持4.x。请提交关于您的问题的错误报告。 – Hongli

+0

再次感谢。别介意Rails检测错误。我添加了一个config.ru文件,应用程序在4.0.21下工作得很好。最亲切的问候,〜本 – Ben