0

尝试在 Mac 上使用全新安装的 Mavericks 开发现有的 Rails 3.0 应用程序。在 Mountain Lion 下,Passenger Standalone 运行良好。我升级到 Mavericks,安装了命令行工具、ruby、bundler 等。当我到这一步时:

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'
4

1 回答 1

1

您正在使用 Phusion 乘客 3.0.21。该版本不适用于小牛队。改为升级到 4.0.21。顺便说一句,这些天在 OS X 上安装Passenger 的推荐方法是通过Homebrew。按照https://www.phusionpassenger.com/download#open_source上的指南进行操作

于 2013-10-26T18:18:29.610 回答