diff --git a/src/ripple_app/main/RPCHTTPServer.cpp b/src/ripple_app/main/RPCHTTPServer.cpp index 2486a6cc00..7771be883c 100644 --- a/src/ripple_app/main/RPCHTTPServer.cpp +++ b/src/ripple_app/main/RPCHTTPServer.cpp @@ -113,9 +113,13 @@ public: processSession (job, session); #else session.detach(); - m_jobQueue.addJob (jtRPC, "RPC", bind ( - &RPCHTTPServerImp::processSession, this, _1, - ref (session))); + + // The "boost::"'s are a workaround for broken versions of tr1::functional that + // require the reference wrapper to be callable. HTTP::Session has abstract functions + // and so references to it are not callable. + m_jobQueue.addJob (jtRPC, "RPC", boost::bind ( + &RPCHTTPServerImp::processSession, this, boost::_1, + boost::ref (session))); #endif }