2013-10-26 46 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