...
mongodb 3.0.0 and 3.0.1 do not compile on Mac OS X 10.6. The error is: src/mongo/bson/bsonelement.h:485:35: error: use of undeclared identifier 'strnlen' size_t size = strnlen( fieldName(), maxLen - 1 ); ^ The problem is that strnlen was added to OS X in version 10.7, so to compile on previous systems you must either not use strnlen or must provide a compatibility implementation of it. The MacPorts project's ticket about this issue is https://trac.macports.org/ticket/47119
ryandesign commented on Sat, 14 Nov 2015 10:47:00 +0000: Note that MacPorts does offer a way to use libc++ even on OS X 10.6. See https://trac.macports.org/wiki/LibcxxOnOlderSystems. So, were it not for the use of strnlen, mongodb might still be buildable on OS X 10.6 with libc++. However, it is possible there is no longer user interest in this. No complaints about the 10.7 requirement have been reported to me as mongodb package maintainer in MacPorts. acm commented on Wed, 1 Apr 2015 12:25:25 +0000: ryandesign - The cost to support older platforms is high, generally. Additionally, we wanted to be able to rely on of a modern C++ runtime. Due to Apple's freezing libstdc++ at 4.2.1 this means that we now require libc++, and that only became available in OS X 10.7 and on. I agree with you that it would be good to report when the target system does not meet our minimum requirements. We actually already do this for the C/C++ compiler and the standard library, so we are moving in this direction overall. Ideally, we would also do such a check for any third_party libraries where the user requested to use the system version instead of our vendored copy. I've filed SERVER-17836 to capture the OS detection improvement, and SERVER-17837 to capture the third party library improvement. Please let us know if there is anything more we can do for you on this issue. ryandesign commented on Wed, 1 Apr 2015 07:12:35 +0000: That is unfortunate, but if that is what you want, then you should modify the scons script so that it detects OS X acm commented on Tue, 31 Mar 2015 12:27:57 +0000: This is intentional. MongoDB 2.6 is the last version that targets OS X 10.6. MongoDB 3.0 requires OS X 10.7 or newer.