mongodb 3.4.7 fails to build on OS X 10.8 with the compiler "Apple LLVM version 5.1 (clang-503.0.40) (based on LLVM 3.4svn)" from Xcode 5.1.1; here is a build log:
src/mongo/db/operation_context.cpp:335:13: error: return type 'std::__1::cv_status' must match previous return type 'std::__1::cv_status::__lx' when lambda expression has unspecified explicit return type return cv.wait_until(m, deadline.toSystemTimePoint()); ^ src/mongo/db/operation_context.cpp:340:9: error: return type 'stdx::cv_status' (aka 'std::__1::cv_status') must match previous return type 'std::__1::cv_status::__lx' when lambda expression has unspecified explicit return type return cvWaitUntilWithClockSource(clockSource, cv, m, deadline); ^ src/mongo/db/operation_context.cpp:366:12: error: no viable conversion from 'const std::__1::cv_status::__lx' to 'StatusWith<stdx::cv_status>' return waitStatus; ^~~~~~~~~~
The same version builds fine on OS X 10.9 with the compiler "Apple LLVM version 6.0 (clang-600.0.57) (based on LLVM 3.5svn)" from Xcode 6.2. Here is that build log:
The same version also builds fine on OS X 10.7 with clang 3.9.1 as installed by MacPorts. Here is that build log:
If necessary, we can tell MacPorts to build mongodb with a newer clang on OS X 10.8 as well, but previous versions of mongodb built fine on OS X 10.8 with clang from Xcode so I wanted to let you know in case this is a bug.