<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 03:21:43 UTC 2024

It is possible to restrict the fields that are returned in this document by specifying the 'field' parameter in your request.
For example, to request only the issue key and summary append 'field=key&field=summary' to the URL of your request.
-->
<rss version="0.92" >
<channel>
    <title>MongoDB Jira</title>
    <link>https://jira.mongodb.org</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>9.7.1</version>
        <build-number>970001</build-number>
        <build-date>13-04-2023</build-date>
    </build-info>


<item>
            <title>[SERVER-9881] Error while Compiling C++ Client Driver with clang++ -std=c++11 or possible process_id.h issue</title>
                <link>https://jira.mongodb.org/browse/SERVER-9881</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;I am using the mongodb from the git main trunk for some compatibility and integration tests. I use the clang with -std=c++11 flags for compiling my source.&lt;br/&gt;
Yesterday I updated my local repository (It was not updated for 3 weeks).&lt;br/&gt;
Since I did it, I am having troubles when I try to compile my code.&lt;/p&gt;

&lt;p&gt;~/development/mongo/src/mongo/client]$ clang++ -std=c++11 -I/opt/mongo/include -I/opt/boost/include -L/opt/boost-clang/lib/ -L/opt/mongo/lib/ -lmongoclient -lboost_thread -lboost_filesystem -lboost_program_options -lboost_system simple_client_demo.cpp -o test&lt;/p&gt;

&lt;p&gt;lboost_filesystem -lboost_program_options -lboost_system simple_client_demo.cpp -o test&lt;br/&gt;
In file included from simple_client_demo.cpp:32:&lt;br/&gt;
In file included from ./dbclient.h:32:&lt;br/&gt;
In file included from /opt/mongo/include/mongo/client/connpool.h:23:&lt;br/&gt;
In file included from /opt/mongo/include/mongo/client/dbclientinterface.h:27:&lt;br/&gt;
In file included from /opt/mongo/include/mongo/util/net/message.h:21:&lt;br/&gt;
In file included from /opt/mongo/include/mongo/util/net/hostandport.h:21:&lt;br/&gt;
In file included from /opt/mongo/include/mongo/db/cmdline.h:23:&lt;br/&gt;
/opt/mongo/include/mongo/platform/process_id.h:107:19: error: no template named &apos;hash&apos;; did you mean &apos;boost::hash&apos;?&lt;br/&gt;
template&amp;lt;&amp;gt; struct hash&amp;lt; ::mongo::ProcessId &amp;gt; {&lt;br/&gt;
                  ^~~~&lt;br/&gt;
                  boost::hash&lt;br/&gt;
/opt/boost/include/boost/functional/hash/hash_fwd.hpp:23:31: note: &apos;boost::hash&apos; declared here&lt;br/&gt;
    template &amp;lt;class T&amp;gt; struct hash;&lt;br/&gt;
                              ^&lt;br/&gt;
In file included from simple_client_demo.cpp:32:&lt;br/&gt;
In file included from ./dbclient.h:32:&lt;br/&gt;
In file included from /opt/mongo/include/mongo/client/connpool.h:23:&lt;br/&gt;
In file included from /opt/mongo/include/mongo/client/dbclientinterface.h:27:&lt;br/&gt;
In file included from /opt/mongo/include/mongo/util/net/message.h:21:&lt;br/&gt;
In file included from /opt/mongo/include/mongo/util/net/hostandport.h:21:&lt;br/&gt;
In file included from /opt/mongo/include/mongo/db/cmdline.h:23:&lt;br/&gt;
/opt/mongo/include/mongo/platform/process_id.h:107:19: error: class template specialization of &apos;hash&apos; must originally be declared in namespace &apos;boost&apos;&lt;br/&gt;
template&amp;lt;&amp;gt; struct hash&amp;lt; ::mongo::ProcessId &amp;gt; {&lt;br/&gt;
                  ^&lt;br/&gt;
/opt/boost/include/boost/functional/hash/hash_fwd.hpp:23:31: note: explicitly specialized declaration is here&lt;br/&gt;
    template &amp;lt;class T&amp;gt; struct hash;&lt;br/&gt;
                              ^&lt;br/&gt;
In file included from simple_client_demo.cpp:32:&lt;br/&gt;
In file included from ./dbclient.h:32:&lt;br/&gt;
In file included from /opt/mongo/include/mongo/client/connpool.h:23:&lt;br/&gt;
In file included from /opt/mongo/include/mongo/client/dbclientinterface.h:27:&lt;br/&gt;
In file included from /opt/mongo/include/mongo/util/net/message.h:21:&lt;br/&gt;
In file included from /opt/mongo/include/mongo/util/net/hostandport.h:21:&lt;br/&gt;
In file included from /opt/mongo/include/mongo/db/cmdline.h:23:&lt;br/&gt;
/opt/mongo/include/mongo/platform/process_id.h:109:16: error: implicit instantiation of undefined template &apos;boost::hash&amp;lt;unsigned int&amp;gt;&apos;&lt;br/&gt;
        return hash&amp;lt; ::mongo::uint32_t &amp;gt;()(pid.asUInt32());&lt;br/&gt;
               ^&lt;br/&gt;
/opt/boost/include/boost/functional/hash/hash_fwd.hpp:23:31: note: template is declared here&lt;br/&gt;
    template &amp;lt;class T&amp;gt; struct hash;&lt;br/&gt;
                              ^&lt;br/&gt;
3 errors generated.&lt;/p&gt;

&lt;p&gt;I realized that the file , platform/process_id.h  that gives me the erros ir quite new (just 16 dayss old):&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commits/master/src/mongo/platform/process_id.h&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commits/master/src/mongo/platform/process_id.h&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;And if I delete the lines &lt;/p&gt;

&lt;p&gt;106 MONGO_HASH_NAMESPACE_START&lt;br/&gt;
107 template&amp;lt;&amp;gt; struct hash&amp;lt; ::mongo::ProcessId &amp;gt; {&lt;br/&gt;
108     size_t operator()(const ::mongo::ProcessId pid) const &lt;/p&gt;
{
109         return hash&amp;lt; ::mongo::uint32_t &amp;gt;()(pid.asUInt32());
110     }
&lt;p&gt;111 };&lt;br/&gt;
112 MONGO_HASH_NAMESPACE_END&lt;/p&gt;

&lt;p&gt;The code compiles and it is executed without any issue. (My actual work arround)&lt;/p&gt;

&lt;p&gt;By the way, if I compile without the -std=c++11  flag, it is compiled without any error. &lt;/p&gt;

&lt;p&gt;I also tried to compiled mongodb with clang:&lt;br/&gt;
scons --full install  --64=FORCE64  -j 16 --prefix /opt/mongo  --use-system-boost --extrapath=/opt/boost/ --cc=clang --cxx=clang++  --c++11 --allocator=system&lt;/p&gt;


&lt;p&gt;but I got the same erros:&lt;br/&gt;
In file included from src/mongo/platform/process_id.cpp:18:&lt;br/&gt;
src/mongo/platform/process_id.h:107:19: error: explicit specialization of non-template struct &apos;hash&apos;&lt;br/&gt;
template&amp;lt;&amp;gt; struct hash&amp;lt; ::mongo::ProcessId &amp;gt; {&lt;br/&gt;
                  ^   ~~~~~~~~~~~~~~~~~~~~~~&lt;br/&gt;
src/mongo/platform/process_id.h:109:20: error: expected &apos;(&apos; for function-style cast or type construction&lt;br/&gt;
        return hash&amp;lt; ::mongo::uint32_t &amp;gt;()(pid.asUInt32());&lt;br/&gt;
               ~~~~^&lt;br/&gt;
src/mongo/platform/process_id.h:109:40: error: expected &apos;(&apos; for function-style cast or type construction&lt;br/&gt;
        return hash&amp;lt; ::mongo::uint32_t &amp;gt;()(pid.asUInt32());&lt;br/&gt;
                     ~~~~~~~~~~~~~~~~~ ^&lt;br/&gt;
src/mongo/platform/process_id.h:109:42: error: expected expression&lt;/p&gt;</description>
                <environment>clang++ --version&lt;br/&gt;
Apple clang version 4.1 (tags/Apple/clang-421.11.65) (based on LLVM 3.1svn)&lt;br/&gt;
Target: x86_64-apple-darwin12.3.0&lt;br/&gt;
Thread model: posix&lt;br/&gt;
&lt;br/&gt;
Mac os X 10.8.3&lt;br/&gt;
&lt;br/&gt;
Boost 1.53 compiled with clang/clang++</environment>
        <key id="78354">SERVER-9881</key>
            <summary>Error while Compiling C++ Client Driver with clang++ -std=c++11 or possible process_id.h issue</summary>
                <type id="1" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14703&amp;avatarType=issuetype">Bug</type>
                                            <priority id="4" iconUrl="https://jira.mongodb.org/images/icons/priorities/minor.svg">Minor - P4</priority>
                        <status id="6" iconUrl="https://jira.mongodb.org/images/icons/statuses/closed.png" description="The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.">Closed</status>
                    <statusCategory id="3" key="done" colorName="success"/>
                                    <resolution id="9">Done</resolution>
                                        <assignee username="andrew.morrow@mongodb.com">Andrew Morrow</assignee>
                                    <reporter username="felipe.albrecht">Felipe Albrecht</reporter>
                        <labels>
                            <label>c++</label>
                            <label>c++11</label>
                            <label>driver</label>
                    </labels>
                <created>Sat, 8 Jun 2013 14:54:12 +0000</created>
                <updated>Wed, 10 Dec 2014 23:10:58 +0000</updated>
                            <resolved>Mon, 10 Jun 2013 16:16:28 +0000</resolved>
                                    <version>2.5.0</version>
                                                    <component>Internal Client</component>
                                        <votes>0</votes>
                                    <watches>6</watches>
                                                                                                                <comments>
                            <comment id="372676" author="auto" created="Tue, 2 Jul 2013 17:53:20 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;acmorrow&apos;, u&apos;name&apos;: u&apos;Andrew Morrow&apos;, u&apos;email&apos;: u&apos;acm@10gen.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-9881&quot; title=&quot;Error while Compiling C++ Client Driver with clang++ -std=c++11 or possible process_id.h issue&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-9881&quot;&gt;&lt;del&gt;SERVER-9881&lt;/del&gt;&lt;/a&gt; Use presence of a certain type_trait to detect libstdc++ 4.6.0 or better&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/2eceeb6202c17313fbcfe0cc101ec645b28bb350&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/2eceeb6202c17313fbcfe0cc101ec645b28bb350&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="356879" author="acm" created="Mon, 10 Jun 2013 16:16:28 +0000"  >&lt;p&gt;Closing as works as designed since we never intended to support building in C&amp;#43;&amp;#43;11 mode on darwin against Apple&apos;s libstc&amp;#43;&amp;#43;. We did add some code to reject attempts to do this.&lt;/p&gt;</comment>
                            <comment id="356876" author="auto" created="Mon, 10 Jun 2013 16:14:55 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;acmorrow&apos;, u&apos;name&apos;: u&apos;Andrew Morrow&apos;, u&apos;email&apos;: u&apos;acm@10gen.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-9881&quot; title=&quot;Error while Compiling C++ Client Driver with clang++ -std=c++11 or possible process_id.h issue&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-9881&quot;&gt;&lt;del&gt;SERVER-9881&lt;/del&gt;&lt;/a&gt; Reject attempts to build in C+&lt;ins&gt;11 mode with ancient libstdc&lt;/ins&gt;+&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/713734e41357a96592ace944ad71f5982211f31b&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/713734e41357a96592ace944ad71f5982211f31b&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="356088" author="felipe.albrecht" created="Sat, 8 Jun 2013 22:01:07 +0000"  >&lt;p&gt;FYI: the problem with boost is in the chrono library and it is an already know issue: &lt;br/&gt;
&lt;a href=&quot;https://github.com/Valloric/YouCompleteMe/issues/124&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/Valloric/YouCompleteMe/issues/124&lt;/a&gt; (as an example) &lt;/p&gt;</comment>
                            <comment id="356081" author="felipe.albrecht" created="Sat, 8 Jun 2013 21:42:43 +0000"  >&lt;ul&gt;
	&lt;li&gt;Yes, sorry, I did not expressed well. But, anyway, it will not work because the boost issue.&lt;/li&gt;
&lt;/ul&gt;


&lt;ul&gt;
	&lt;li&gt;Thank you for pointing it out. In a &quot;few weeks&quot; they will have a new version supporting C++11.&lt;/li&gt;
&lt;/ul&gt;


&lt;ul&gt;
	&lt;li&gt;I pass it. I will try to check if it is a local problem or googling around. Meanwhile I will use mongodb with clang/gnu+&lt;ins&gt;98/libstd&lt;/ins&gt;+.&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Thank you for the help! &lt;/p&gt;</comment>
                            <comment id="356072" author="acm" created="Sat, 8 Jun 2013 21:14:38 +0000"  >&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;I don&apos;t think that what you wrote is exactly what you meant. Perhaps something like: if you are using clang in C&amp;#43;&amp;#43;11 mode on OS X, it should default to libc&amp;#43;&amp;#43; and if you are using C&amp;#43;&amp;#43;11 on any platform, automatically disable tcmalloc? That seems reasonable and easy enough to do.&lt;/li&gt;
&lt;/ul&gt;


&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;The TCMalloc incompatibility is due to Google not releasing a new C&amp;#43;&amp;#43;11 compatible version in a timely fashion. Please see: &lt;a href=&quot;https://code.google.com/p/gperftools/issues/detail?id=501&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://code.google.com/p/gperftools/issues/detail?id=501&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;


&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;You will need to work with the boost and/or libc&amp;#43;&amp;#43; developers to figure out the boost issue.&lt;/li&gt;
&lt;/ul&gt;
</comment>
                            <comment id="356065" author="felipe.albrecht" created="Sat, 8 Jun 2013 21:07:37 +0000"  >&lt;ul&gt;
	&lt;li&gt;If mongodb is being built with clang, it should be set &quot;--cxx=clang++  --c++11 --allocator=system&quot; automatically.&lt;/li&gt;
&lt;/ul&gt;


&lt;ul&gt;
	&lt;li&gt;Another issue is that TCmalloc is not supported when using c++11.&lt;/li&gt;
&lt;/ul&gt;


&lt;ul&gt;
	&lt;li&gt;Should I must to create another issue for the Boost?&lt;br/&gt;
The boost problem is:&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;clang++ -std=c+&lt;ins&gt;11 -stdlib=libc&lt;/ins&gt;+  -I/opt/mongo/include -I/opt/boost/include -L/opt/boost-clang/lib/ -L/opt/mongo/lib/ -lmongoclient -lboost_thread -lboost_filesystem -lboost_program_options -lboost_system simple_client_demo.cpp -o test&lt;br/&gt;
In file included from simple_client_demo.cpp:32:&lt;br/&gt;
In file included from ./dbclient.h:30:&lt;br/&gt;
In file included from /opt/mongo/include/mongo/pch.h:78:&lt;br/&gt;
In file included from /opt/mongo/include/mongo/util/goodies.h:22:&lt;br/&gt;
In file included from /opt/boost/include/boost/thread/condition_variable.hpp:16:&lt;br/&gt;
In file included from /opt/boost/include/boost/thread/pthread/condition_variable.hpp:9:&lt;br/&gt;
In file included from /opt/boost/include/boost/thread/pthread/timespec.hpp:20:&lt;br/&gt;
/opt/boost/include/boost/chrono/duration.hpp:353:49: error: constexpr function never produces a constant expression&lt;br/&gt;
        static BOOST_CHRONO_LIB_CONSTEXPR float lowest() BOOST_CHRONO_LIB_NOEXCEPT_OR_THROW&lt;br/&gt;
                                                ^&lt;br/&gt;
/opt/boost/include/boost/chrono/duration.hpp:355:21: note: non-constexpr function &apos;max&apos; cannot be used in a constant expression&lt;br/&gt;
            return -(std::numeric_limits&amp;lt;float&amp;gt;::max) ();&lt;br/&gt;
                    ^&lt;br/&gt;
/usr/bin/../lib/c++/v1/limits:443:43: note: declared here&lt;br/&gt;
    _LIBCPP_INLINE_VISIBILITY static type max() _NOEXCEPT &lt;/p&gt;
{return __base::max();}
&lt;p&gt;                                          ^&lt;br/&gt;
In file included from simple_client_demo.cpp:32:&lt;br/&gt;
In file included from ./dbclient.h:30:&lt;br/&gt;
In file included from /opt/mongo/include/mongo/pch.h:78:&lt;br/&gt;
In file included from /opt/mongo/include/mongo/util/goodies.h:22:&lt;br/&gt;
In file included from /opt/boost/include/boost/thread/condition_variable.hpp:16:&lt;br/&gt;
In file included from /opt/boost/include/boost/thread/pthread/condition_variable.hpp:9:&lt;br/&gt;
In file included from /opt/boost/include/boost/thread/pthread/timespec.hpp:20:&lt;br/&gt;
/opt/boost/include/boost/chrono/duration.hpp:361:50: error: constexpr function never produces a constant expression&lt;br/&gt;
        static BOOST_CHRONO_LIB_CONSTEXPR double lowest() BOOST_CHRONO_LIB_NOEXCEPT_OR_THROW&lt;br/&gt;
                                                 ^&lt;br/&gt;
/opt/boost/include/boost/chrono/duration.hpp:363:21: note: non-constexpr function &apos;max&apos; cannot be used in a constant expression&lt;br/&gt;
            return -(std::numeric_limits&amp;lt;double&amp;gt;::max) ();&lt;br/&gt;
                    ^&lt;br/&gt;
/usr/bin/../lib/c++/v1/limits:443:43: note: declared here&lt;br/&gt;
    _LIBCPP_INLINE_VISIBILITY static type max() _NOEXCEPT &lt;/p&gt;
{return __base::max();}
&lt;p&gt;                                          ^&lt;br/&gt;
In file included from simple_client_demo.cpp:32:&lt;br/&gt;
In file included from ./dbclient.h:30:&lt;br/&gt;
In file included from /opt/mongo/include/mongo/pch.h:78:&lt;br/&gt;
In file included from /opt/mongo/include/mongo/util/goodies.h:22:&lt;br/&gt;
In file included from /opt/boost/include/boost/thread/condition_variable.hpp:16:&lt;br/&gt;
In file included from /opt/boost/include/boost/thread/pthread/condition_variable.hpp:9:&lt;br/&gt;
In file included from /opt/boost/include/boost/thread/pthread/timespec.hpp:20:&lt;br/&gt;
/opt/boost/include/boost/chrono/duration.hpp:369:55: error: constexpr function never produces a constant expression&lt;br/&gt;
        static BOOST_CHRONO_LIB_CONSTEXPR long double lowest() BOOST_CHRONO_LIB_NOEXCEPT_OR_THROW&lt;br/&gt;
                                                      ^&lt;br/&gt;
/opt/boost/include/boost/chrono/duration.hpp:371:21: note: non-constexpr function &apos;max&apos; cannot be used in a constant expression&lt;br/&gt;
            return -(std::numeric_limits&amp;lt;long double&amp;gt;::max)();&lt;br/&gt;
                    ^&lt;br/&gt;
/usr/bin/../lib/c++/v1/limits:443:43: note: declared here&lt;br/&gt;
    _LIBCPP_INLINE_VISIBILITY static type max() _NOEXCEPT &lt;/p&gt;
{return __base::max();}
&lt;p&gt;                                          ^&lt;br/&gt;
3 errors generated.&lt;/p&gt;</comment>
                            <comment id="356052" author="acm" created="Sat, 8 Jun 2013 20:40:09 +0000"  >&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;It is possible to use modern versions of libstdc&amp;#43;&amp;#43; in C&amp;#43;&amp;#43;11 mode with both clang and GCC. However, the version of libstdc&amp;#43;&amp;#43; that Apple ships on OS X is ancient (4.2.1) and not C&amp;#43;&amp;#43;11 aware (it doesn&apos;t even honor _&lt;em&gt;GXX_EXPERIMENTAL_CXX0X&lt;/em&gt;_). Apple will not be updating it. There is basically no point trying to use the XCode provided libstdc&amp;#43;&amp;#43; in C&amp;#43;&amp;#43;11 mode.&lt;/li&gt;
&lt;/ul&gt;


&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;The error you are getting is new because the code is new. But the code is not wrong: we simply don&apos;t support building in C+&lt;br class=&quot;atl-forced-newline&quot; /&gt;+11 mode with such an old version of the libstdc&amp;#43;&amp;#43; runtime right now, and it is very doubtful that we will do so in the future. The principle issue is that libstdc&amp;#43;&amp;#43; 4.2.1, not being C&amp;#43;&amp;#43;11 aware, doesn&apos;t know that in C&amp;#43;&amp;#43;11 mode that struct hash belongs in namespace std, rather than in std::tr1. Our headers detect that you are using C&amp;#43;&amp;#43;11 mode and so expect to find hash in namespace std, and this will fail with libstdc&amp;#43;&amp;#43; 4.2.1 because it places it in std::tr1. If you want to build in C&amp;#43;&amp;#43;11 mode with libstdc&amp;#43;&amp;#43; on OS X, you need to use something like MacPorts GCC, which installs a newer libstdc&amp;#43;&amp;#43; to go with its GCC revision.&lt;/li&gt;
&lt;/ul&gt;


&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;I think your boost errors are a separate issue.&lt;/li&gt;
&lt;/ul&gt;
</comment>
                            <comment id="356034" author="felipe.albrecht" created="Sat, 8 Jun 2013 19:50:00 +0000"  >&lt;p&gt;Hello,&lt;br/&gt;
I disagree that libstd++ is the problem, as the error is an error during the compilation and only in a very new code. For old 2.5 code, it works fine. Also it works if I delete/comment the affected lines. And it is possible to use clang C+&lt;ins&gt;11 with libstd&lt;/ins&gt;+.&lt;/p&gt;

&lt;p&gt;Anyway, I am trying to compile mongo using this command:&lt;br/&gt;
scons --full install  --64=FORCE64  -j 16 --prefix /opt/mongo-new/  --use-system-boost --extrapath=/opt/boost-clang-libc+&lt;ins&gt;/ --cc=clang --cxx=clang&lt;/ins&gt;+  --c+&lt;ins&gt;11 --allocator=system --libc&lt;/ins&gt;+ --osx-version-min=10.7 &lt;/p&gt;

&lt;p&gt;and I am getting a lot of errors with boost:&lt;br/&gt;
(Apropos, the boost was compiled with clang and libc++)&lt;/p&gt;


&lt;p&gt;/opt/boost-clang-libc++/include/boost/chrono/duration.hpp:353:49: error: constexpr function never produces a constant expression&lt;br/&gt;
        static BOOST_CHRONO_LIB_CONSTEXPR float lowest() BOOST_CHRONO_LIB_NOEXCEPT_OR_THROW&lt;br/&gt;
                                                ^&lt;br/&gt;
/opt/boost-clang-libc++/include/boost/chrono/duration.hpp:355:21: note: non-constexpr function &apos;max&apos; cannot be used in a constant expression&lt;br/&gt;
            return -(std::numeric_limits&amp;lt;float&amp;gt;::max) ();&lt;br/&gt;
                    ^&lt;br/&gt;
/usr/bin/../lib/c++/v1/limits:443:43: note: declared here&lt;br/&gt;
    _LIBCPP_INLINE_VISIBILITY static type max() _NOEXCEPT &lt;/p&gt;
{return __base::max();}
&lt;p&gt;                                          ^&lt;br/&gt;
In file included from src/mongo/db/index/btree_based_builder.cpp:17:&lt;br/&gt;
In file included from src/mongo/db/index/btree_based_builder.h:21:&lt;br/&gt;
In file included from src/mongo/db/jsobj.h:31:&lt;br/&gt;
In file included from src/mongo/pch.h:78:&lt;br/&gt;
In file included from src/mongo/util/goodies.h:22:&lt;br/&gt;
In file included from /opt/boost-clang-libc++/include/boost/thread/condition_variable.hpp:16:&lt;br/&gt;
In file included from /opt/boost-clang-libc++/include/boost/thread/pthread/condition_variable.hpp:9:&lt;br/&gt;
In file included from /opt/boost-clang-libc++/include/boost/thread/pthread/timespec.hpp:20:&lt;br/&gt;
/opt/boost-clang-libc++/include/boost/chrono/duration.hpp:361:50: error: constexpr function never produces a constant expression&lt;br/&gt;
        static BOOST_CHRONO_LIB_CONSTEXPR double lowest() BOOST_CHRONO_LIB_NOEXCEPT_OR_THROW&lt;br/&gt;
                                                 ^&lt;br/&gt;
/opt/boost-clang-libc++/include/boost/chrono/duration.hpp:363:21: note: non-constexpr function &apos;max&apos; cannot be used in a constant expression&lt;br/&gt;
            return -(std::numeric_limits&amp;lt;double&amp;gt;::max) ();&lt;br/&gt;
                    ^&lt;br/&gt;
/usr/bin/../lib/c++/v1/limits:443:43: note: declared here&lt;br/&gt;
    _LIBCPP_INLINE_VISIBILITY static type max() _NOEXCEPT &lt;/p&gt;
{return __base::max();}
&lt;p&gt;                                          ^&lt;br/&gt;
In file included from src/mongo/db/index/btree_based_builder.cpp:17:&lt;br/&gt;
In file included from src/mongo/db/index/btree_based_builder.h:21:&lt;br/&gt;
In file included from src/mongo/db/jsobj.h:31:&lt;br/&gt;
In file included from src/mongo/pch.h:78:&lt;br/&gt;
In file included from src/mongo/util/goodies.h:22:&lt;br/&gt;
In file included from /opt/boost-clang-libc++/include/boost/thread/condition_variable.hpp:16:&lt;br/&gt;
In file included from /opt/boost-clang-libc++/include/boost/thread/pthread/condition_variable.hpp:9:&lt;br/&gt;
In file included from /opt/boost-clang-libc++/include/boost/thread/pthread/timespec.hpp:20:&lt;br/&gt;
/opt/boost-clang-libc++/include/boost/chrono/duration.hpp:369:55: error: constexpr function never produces a constant expression&lt;br/&gt;
        static BOOST_CHRONO_LIB_CONSTEXPR long double lowest() BOOST_CHRONO_LIB_NOEXCEPT_OR_THROW&lt;br/&gt;
                                                      ^&lt;br/&gt;
/opt/boost-clang-libc++/include/boost/chrono/duration.hpp:371:21: note: non-constexpr function &apos;max&apos; cannot be used in a constant expression&lt;br/&gt;
            return -(std::numeric_limits&amp;lt;long double&amp;gt;::max)();&lt;br/&gt;
                    ^&lt;br/&gt;
/usr/bin/../lib/c++/v1/limits:443:43: note: declared here&lt;br/&gt;
    _LIBCPP_INLINE_VISIBILITY static type max() _NOEXCEPT &lt;/p&gt;
{return __base::max();}
&lt;p&gt;                                          ^&lt;br/&gt;
In file included from src/mongo/db/repl/oplogreader.cpp:17:&lt;br/&gt;
In file included from src/mongo/db/repl/oplogreader.h:23:&lt;br/&gt;
In file included from src/mongo/client/dbclientcursor.h:20:&lt;br/&gt;
In file included from src/mongo/pch.h:78:&lt;br/&gt;
In file included from src/mongo/util/goodies.h:22:&lt;br/&gt;
In file included from /opt/boost-clang-libc++/include/boost/thread/condition_variable.hpp:16:&lt;br/&gt;
In file included from /opt/boost-clang-libc++/include/boost/thread/pthread/condition_variable.hpp:9:&lt;br/&gt;
In file included from /opt/boost-clang-libc++/include/boost/thread/pthread/timespec.hpp:20:&lt;br/&gt;
/opt/boost-clang-libc++/include/boost/chrono/duration.hpp:353:49: error: constexpr function never produces a constant expression&lt;br/&gt;
        static BOOST_CHRONO_LIB_CONSTEXPR float lowest() BOOST_CHRONO_LIB_NOEXCEPT_OR_THROW&lt;br/&gt;
                                                ^&lt;br/&gt;
/opt/boost-clang-libc++/include/boost/chrono/duration.hpp:355:21: note: non-constexpr function &apos;max&apos; cannot be used in a constant expression&lt;br/&gt;
            return -(std::numeric_limits&amp;lt;float&amp;gt;::max) ();&lt;br/&gt;
                    ^&lt;br/&gt;
/usr/bin/../lib/c++/v1/limits:443:43: note: declared here&lt;br/&gt;
    _LIBCPP_INLINE_VISIBILITY static type max() _NOEXCEPT &lt;/p&gt;
{return __base::max();}
&lt;p&gt;                                          ^&lt;br/&gt;
In file included from src/mongo/db/repl/oplogreader.cpp:17:&lt;br/&gt;
In file included from src/mongo/db/repl/oplogreader.h:23:&lt;br/&gt;
In file included from src/mongo/client/dbclientcursor.h:20:&lt;br/&gt;
In file included from src/mongo/pch.h:78:&lt;br/&gt;
In file included from src/mongo/util/goodies.h:22:&lt;br/&gt;
In file included from /opt/boost-clang-libc++/include/boost/thread/condition_variable.hpp:16:&lt;br/&gt;
In file included from /opt/boost-clang-libc++/include/boost/thread/pthread/condition_variable.hpp:9:&lt;br/&gt;
In file included from /opt/boost-clang-libc++/include/boost/thread/pthread/timespec.hpp:20:&lt;br/&gt;
/opt/boost-clang-libc++/include/boost/chrono/duration.hpp:361:50: error: constexpr function never produces a constant expression&lt;br/&gt;
        static BOOST_CHRONO_LIB_CONSTEXPR double lowest() BOOST_CHRONO_LIB_NOEXCEPT_OR_THROW&lt;br/&gt;
                                                 ^&lt;br/&gt;
/opt/boost-clang-libc++/include/boost/chrono/duration.hpp:363:21: note: non-constexpr function &apos;max&apos; cannot be used in a constant expression&lt;br/&gt;
            return -(std::numeric_limits&amp;lt;double&amp;gt;::max) ();&lt;br/&gt;
                    ^&lt;br/&gt;
/usr/bin/../lib/c++/v1/limits:443:43: note: declared here&lt;br/&gt;
    _LIBCPP_INLINE_VISIBILITY static type max() _NOEXCEPT &lt;/p&gt;
{return __base::max();}
&lt;p&gt;                                          ^&lt;br/&gt;
In file included from src/mongo/db/repl/oplogreader.cpp:17:&lt;br/&gt;
In file included from src/mongo/db/repl/oplogreader.h:23:&lt;br/&gt;
In file included from src/mongo/client/dbclientcursor.h:20:&lt;br/&gt;
In file included from src/mongo/pch.h:78:&lt;br/&gt;
In file included from src/mongo/util/goodies.h:22:&lt;br/&gt;
In file included from /opt/boost-clang-libc++/include/boost/thread/condition_variable.hpp:16:&lt;br/&gt;
In file included from /opt/boost-clang-libc++/include/boost/thread/pthread/condition_variable.hpp:9:&lt;br/&gt;
In file included from /opt/boost-clang-libc++/include/boost/thread/pthread/timespec.hpp:20:&lt;br/&gt;
/opt/boost-clang-libc++/include/boost/chrono/duration.hpp:369:55: error: constexpr function never produces a constant expression&lt;br/&gt;
        static BOOST_CHRONO_LIB_CONSTEXPR long double lowest() BOOST_CHRONO_LIB_NOEXCEPT_OR_THROW&lt;br/&gt;
                                                      ^&lt;br/&gt;
/opt/boost-clang-libc++/include/boost/chrono/duration.hpp:371:21: note: non-constexpr function &apos;max&apos; cannot be used in a constant expression&lt;br/&gt;
            return -(std::numeric_limits&amp;lt;long double&amp;gt;::max)();&lt;br/&gt;
                    ^&lt;br/&gt;
/usr/bin/../lib/c++/v1/limits:443:43: note: declared here&lt;br/&gt;
    _LIBCPP_INLINE_VISIBILITY static type max() _NOEXCEPT &lt;/p&gt;
{return __base::max();}
&lt;p&gt;                                          ^&lt;br/&gt;
In file included from src/mongo/db/introspect.cpp:19:&lt;br/&gt;
In file included from src/mongo/pch.h:78:&lt;br/&gt;
In file included from src/mongo/util/goodies.h:22:&lt;br/&gt;
In file included from /opt/boost-clang-libc++/include/boost/thread/condition_variable.hpp:16:&lt;br/&gt;
In file included from /opt/boost-clang-libc++/include/boost/thread/pthread/condition_variable.hpp:9:&lt;br/&gt;
In file included from /opt/boost-clang-libc++/include/boost/thread/pthread/timespec.hpp:20:&lt;br/&gt;
/opt/boost-clang-libc++/include/boost/chrono/duration.hpp:353:49: error: constexpr function never produces a constant expression&lt;br/&gt;
        static BOOST_CHRONO_LIB_CONSTEXPR float lowest() BOOST_CHRONO_LIB_NOEXCEPT_OR_THROW&lt;br/&gt;
                                                ^&lt;br/&gt;
/opt/boost-clang-libc++/include/boost/chrono/duration.hpp:355:21: note: non-constexpr function &apos;max&apos; cannot be used in a constant expression&lt;br/&gt;
            return -(std::numeric_limits&amp;lt;float&amp;gt;::max) ();&lt;br/&gt;
                    ^&lt;br/&gt;
/usr/bin/../lib/c++/v1/limits:443:43: note: declared here&lt;br/&gt;
    _LIBCPP_INLINE_VISIBILITY static type max() _NOEXCEPT &lt;/p&gt;
{return __base::max();}
&lt;p&gt;                                          ^&lt;br/&gt;
In file included from src/mongo/db/introspect.cpp:19:&lt;br/&gt;
In file included from src/mongo/pch.h:78:&lt;br/&gt;
In file included from src/mongo/util/goodies.h:22:&lt;br/&gt;
In file included from /opt/boost-clang-libc++/include/boost/thread/condition_variable.hpp:16:&lt;br/&gt;
In file included from /opt/boost-clang-libc++/include/boost/thread/pthread/condition_variable.hpp:9:&lt;br/&gt;
In file included from /opt/boost-clang-libc++/include/boost/thread/pthread/timespec.hpp:20:&lt;br/&gt;
/opt/boost-clang-libc++/include/boost/chrono/duration.hpp:361:50: error: constexpr function never produces a constant expression&lt;br/&gt;
        static BOOST_CHRONO_LIB_CONSTEXPR double lowest() BOOST_CHRONO_LIB_NOEXCEPT_OR_THROW&lt;br/&gt;
                                                 ^&lt;br/&gt;
/opt/boost-clang-libc++/include/boost/chrono/duration.hpp:363:21: note: non-constexpr function &apos;max&apos; cannot be used in a constant expression&lt;br/&gt;
            return -(std::numeric_limits&amp;lt;double&amp;gt;::max) ();&lt;br/&gt;
                    ^&lt;br/&gt;
/usr/bin/../lib/c++/v1/limits:443:43: note: declared here&lt;br/&gt;
    _LIBCPP_INLINE_VISIBILITY static type max() _NOEXCEPT &lt;/p&gt;
{return __base::max();}
&lt;p&gt;                                          ^&lt;br/&gt;
In file included from src/mongo/db/introspect.cpp:19:&lt;br/&gt;
In file included from src/mongo/pch.h:78:&lt;br/&gt;
In file included from src/mongo/util/goodies.h:22:&lt;br/&gt;
In file included from /opt/boost-clang-libc++/include/boost/thread/condition_variable.hpp:16:&lt;br/&gt;
In file included from /opt/boost-clang-libc++/include/boost/thread/pthread/condition_variable.hpp:9:&lt;br/&gt;
In file included from /opt/boost-clang-libc++/include/boost/thread/pthread/timespec.hpp:20:&lt;br/&gt;
/opt/boost-clang-libc++/include/boost/chrono/duration.hpp:369:55: error: constexpr function never produces a constant expression&lt;br/&gt;
        static BOOST_CHRONO_LIB_CONSTEXPR long double lowest() BOOST_CHRONO_LIB_NOEXCEPT_OR_THROW&lt;br/&gt;
                                                      ^&lt;br/&gt;
/opt/boost-clang-libc++/include/boost/chrono/duration.hpp:371:21: note: non-constexpr function &apos;max&apos; cannot be used in a constant expression&lt;br/&gt;
            return -(std::numeric_limits&amp;lt;long double&amp;gt;::max)();&lt;br/&gt;
                    ^&lt;br/&gt;
/usr/bin/../lib/c++/v1/limits:443:43: note: declared here&lt;br/&gt;
    _LIBCPP_INLINE_VISIBILITY static type max() _NOEXCEPT &lt;/p&gt;
{return __base::max();}
&lt;p&gt;                                          ^&lt;br/&gt;
In file included from src/mongo/db/compact.cpp:21:&lt;br/&gt;
In file included from src/mongo/pch.h:78:&lt;br/&gt;
In file included from src/mongo/util/goodies.h:22:&lt;br/&gt;
In file included from /opt/boost-clang-libc++/include/boost/thread/condition_variable.hpp:16:&lt;br/&gt;
In file included from /opt/boost-clang-libc++/include/boost/thread/pthread/condition_variable.hpp:9:&lt;br/&gt;
In file included from /opt/boost-clang-libc++/include/boost/thread/pthread/timespec.hpp:20:&lt;br/&gt;
/opt/boost-clang-libc++/include/boost/chrono/duration.hpp:353:49: error: constexpr function never produces a constant expression&lt;br/&gt;
        static BOOST_CHRONO_LIB_CONSTEXPR float lowest() BOOST_CHRONO_LIB_NOEXCEPT_OR_THROW&lt;br/&gt;
                                                ^&lt;br/&gt;
/opt/boost-clang-libc++/include/boost/chrono/duration.hpp:355:21: note: non-constexpr function &apos;max&apos; cannot be used in a constant expression&lt;br/&gt;
            return -(std::numeric_limits&amp;lt;float&amp;gt;::max) ();&lt;br/&gt;
                    ^&lt;br/&gt;
/usr/bin/../lib/c++/v1/limits:443:43: note: declared here&lt;br/&gt;
    _LIBCPP_INLINE_VISIBILITY static type max() _NOEXCEPT &lt;/p&gt;
{return __base::max();}
&lt;p&gt;                                          ^&lt;br/&gt;
In file included from src/mongo/db/compact.cpp:21:&lt;br/&gt;
In file included from src/mongo/pch.h:78:&lt;br/&gt;
In file included from src/mongo/util/goodies.h:22:&lt;br/&gt;
In file included from /opt/boost-clang-libc++/include/boost/thread/condition_variable.hpp:16:&lt;br/&gt;
In file included from /opt/boost-clang-libc++/include/boost/thread/pthread/condition_variable.hpp:9:&lt;br/&gt;
In file included from /opt/boost-clang-libc++/include/boost/thread/pthread/timespec.hpp:20:&lt;br/&gt;
/opt/boost-clang-libc++/include/boost/chrono/duration.hpp:361:50: error: constexpr function never produces a constant expression&lt;br/&gt;
        static BOOST_CHRONO_LIB_CONSTEXPR double lowest() BOOST_CHRONO_LIB_NOEXCEPT_OR_THROW&lt;br/&gt;
                                                 ^&lt;br/&gt;
/opt/boost-clang-libc++/include/boost/chrono/duration.hpp:363:21: note: non-constexpr function &apos;max&apos; cannot be used in a constant expression&lt;br/&gt;
            return -(std::numeric_limits&amp;lt;double&amp;gt;::max) ();&lt;br/&gt;
                    ^&lt;br/&gt;
/usr/bin/../lib/c++/v1/limits:443:43: note: declared here&lt;br/&gt;
    _LIBCPP_INLINE_VISIBILITY static type max() _NOEXCEPT &lt;/p&gt;
{return __base::max();}
&lt;p&gt;                                          ^&lt;br/&gt;
In file included from src/mongo/db/compact.cpp:21:&lt;br/&gt;
In file included from src/mongo/pch.h:78:&lt;br/&gt;
In file included from src/mongo/util/goodies.h:22:&lt;br/&gt;
In file included from /opt/boost-clang-libc++/include/boost/thread/condition_variable.hpp:16:&lt;br/&gt;
In file included from /opt/boost-clang-libc++/include/boost/thread/pthread/condition_variable.hpp:9:&lt;br/&gt;
In file included from /opt/boost-clang-libc++/include/boost/thread/pthread/timespec.hpp:20:&lt;br/&gt;
/opt/boost-clang-libc++/include/boost/chrono/duration.hpp:369:55: error: constexpr function never produces a constant expression&lt;br/&gt;
        static BOOST_CHRONO_LIB_CONSTEXPR long double lowest() BOOST_CHRONO_LIB_NOEXCEPT_OR_THROW&lt;br/&gt;
                                                      ^&lt;br/&gt;
/opt/boost-clang-libc++/include/boost/chrono/duration.hpp:371:21: note: non-constexpr function &apos;max&apos; cannot be used in a constant expression&lt;br/&gt;
            return -(std::numeric_limits&amp;lt;long double&amp;gt;::max)();&lt;br/&gt;
                    ^&lt;br/&gt;
/usr/bin/../lib/c++/v1/limits:443:43: note: declared here&lt;br/&gt;
    _LIBCPP_INLINE_VISIBILITY static type max() _NOEXCEPT &lt;/p&gt;
{return __base::max();}
&lt;p&gt;                                          ^&lt;br/&gt;
In file included from src/mongo/db/stats/top.cpp:19:&lt;br/&gt;
In file included from src/mongo/pch.h:78:&lt;br/&gt;
In file included from src/mongo/util/goodies.h:22:&lt;br/&gt;
In file included from /opt/boost-clang-libc++/include/boost/thread/condition_variable.hpp:16:&lt;br/&gt;
In file included from /opt/boost-clang-libc++/include/boost/thread/pthread/condition_variable.hpp:9:&lt;br/&gt;
In file included from /opt/boost-clang-libc++/include/boost/thread/pthread/timespec.hpp:20:&lt;br/&gt;
/opt/boost-clang-libc++/include/boost/chrono/duration.hpp:353:49: error: constexpr function never produces a constant expression&lt;br/&gt;
        static BOOST_CHRONO_LIB_CONSTEXPR float lowest() BOOST_CHRONO_LIB_NOEXCEPT_OR_THROW&lt;br/&gt;
                                                ^&lt;br/&gt;
/opt/boost-clang-libc++/include/boost/chrono/duration.hpp:355:21: note: non-constexpr function &apos;max&apos; cannot be used in a constant expression&lt;br/&gt;
            return -(std::numeric_limits&amp;lt;float&amp;gt;::max) ();&lt;br/&gt;
                    ^&lt;br/&gt;
/usr/bin/../lib/c++/v1/limits:443:43: note: declared here&lt;br/&gt;
    _LIBCPP_INLINE_VISIBILITY static type max() _NOEXCEPT &lt;/p&gt;
{return __base::max();}
&lt;p&gt;                                          ^&lt;br/&gt;
In file included from src/mongo/db/stats/top.cpp:19:&lt;br/&gt;
In file included from src/mongo/pch.h:78:&lt;br/&gt;
In file included from src/mongo/util/goodies.h:22:&lt;br/&gt;
In file included from /opt/boost-clang-libc++/include/boost/thread/condition_variable.hpp:16:&lt;br/&gt;
In file included from /opt/boost-clang-libc++/include/boost/thread/pthread/condition_variable.hpp:9:&lt;br/&gt;
In file included from /opt/boost-clang-libc++/include/boost/thread/pthread/timespec.hpp:20:&lt;br/&gt;
/opt/boost-clang-libc++/include/boost/chrono/duration.hpp:361:50: error: constexpr function never produces a constant expression&lt;br/&gt;
        static BOOST_CHRONO_LIB_CONSTEXPR double lowest() BOOST_CHRONO_LIB_NOEXCEPT_OR_THROW&lt;br/&gt;
                                                 ^&lt;br/&gt;
/opt/boost-clang-libc++/include/boost/chrono/duration.hpp:363:21: note: non-constexpr function &apos;max&apos; cannot be used in a constant expression&lt;br/&gt;
            return -(std::numeric_limits&amp;lt;double&amp;gt;::max) ();&lt;br/&gt;
                    ^&lt;br/&gt;
/usr/bin/../lib/c++/v1/limits:443:43: note: declared here&lt;br/&gt;
    _LIBCPP_INLINE_VISIBILITY static type max() _NOEXCEPT &lt;/p&gt;
{return __base::max();}
&lt;p&gt;                                          ^&lt;br/&gt;
In file included from src/mongo/db/stats/top.cpp:19:&lt;br/&gt;
In file included from src/mongo/pch.h:78:&lt;br/&gt;
In file included from src/mongo/util/goodies.h:22:&lt;br/&gt;
In file included from /opt/boost-clang-libc++/include/boost/thread/condition_variable.hpp:16:&lt;br/&gt;
In file included from /opt/boost-clang-libc++/include/boost/thread/pthread/condition_variable.hpp:9:&lt;br/&gt;
In file included from /opt/boost-clang-libc++/include/boost/thread/pthread/timespec.hpp:20:&lt;br/&gt;
/opt/boost-clang-libc++/include/boost/chrono/duration.hpp:369:55: error: constexpr function never produces a constant expression&lt;br/&gt;
        static BOOST_CHRONO_LIB_CONSTEXPR long double lowest() BOOST_CHRONO_LIB_NOEXCEPT_OR_THROW&lt;br/&gt;
                                                      ^&lt;br/&gt;
/opt/boost-clang-libc++/include/boost/chrono/duration.hpp:371:21: note: non-constexpr function &apos;max&apos; cannot be used in a constant expression&lt;br/&gt;
            return -(std::numeric_limits&amp;lt;long double&amp;gt;::max)();&lt;br/&gt;
                    ^&lt;br/&gt;
/usr/bin/../lib/c++/v1/limits:443:43: note: declared here&lt;br/&gt;
    _LIBCPP_INLINE_VISIBILITY static type max() _NOEXCEPT &lt;/p&gt;
{return __base::max();}
&lt;p&gt;                                          ^&lt;br/&gt;
In file included from src/mongo/db/repl/replset_commands.cpp:17:&lt;br/&gt;
In file included from src/mongo/pch.h:78:&lt;br/&gt;
In file included from src/mongo/util/goodies.h:22:&lt;br/&gt;
In file included from /opt/boost-clang-libc++/include/boost/thread/condition_variable.hpp:16:&lt;br/&gt;
In file included from /opt/boost-clang-libc++/include/boost/thread/pthread/condition_variable.hpp:9:&lt;br/&gt;
In file included from /opt/boost-clang-libc++/include/boost/thread/pthread/timespec.hpp:20:&lt;br/&gt;
/opt/boost-clang-libc++/include/boost/chrono/duration.hpp:353:49: error: constexpr function never produces a constant expression&lt;br/&gt;
        static BOOST_CHRONO_LIB_CONSTEXPR float lowest() BOOST_CHRONO_LIB_NOEXCEPT_OR_THROW&lt;br/&gt;
                                                ^&lt;br/&gt;
/opt/boost-clang-libc++/include/boost/chrono/duration.hpp:355:21: note: non-constexpr function &apos;max&apos; cannot be used in a constant expression&lt;br/&gt;
            return -(std::numeric_limits&amp;lt;float&amp;gt;::max) ();&lt;br/&gt;
                    ^&lt;br/&gt;
/usr/bin/../lib/c++/v1/limits:443:43: note: declared here&lt;br/&gt;
    _LIBCPP_INLINE_VISIBILITY static type max() _NOEXCEPT &lt;/p&gt;
{return __base::max();}
&lt;p&gt;                                          ^&lt;br/&gt;
In file included from src/mongo/db/repl/replset_commands.cpp:17:&lt;br/&gt;
In file included from src/mongo/pch.h:78:&lt;br/&gt;
In file included from src/mongo/util/goodies.h:22:&lt;br/&gt;
In file included from /opt/boost-clang-libc++/include/boost/thread/condition_variable.hpp:16:&lt;br/&gt;
In file included from /opt/boost-clang-libc++/include/boost/thread/pthread/condition_variable.hpp:9:&lt;br/&gt;
In file included from /opt/boost-clang-libc++/include/boost/thread/pthread/timespec.hpp:20:&lt;br/&gt;
/opt/boost-clang-libc++/include/boost/chrono/duration.hpp:361:50: error: constexpr function never produces a constant expression&lt;br/&gt;
        static BOOST_CHRONO_LIB_CONSTEXPR double lowest() BOOST_CHRONO_LIB_NOEXCEPT_OR_THROW&lt;br/&gt;
                                                 ^&lt;br/&gt;
/opt/boost-clang-libc++/include/boost/chrono/duration.hpp:363:21: note: non-constexpr function &apos;max&apos; cannot be used in a constant expression&lt;br/&gt;
            return -(std::numeric_limits&amp;lt;double&amp;gt;::max) ();&lt;br/&gt;
                    ^&lt;br/&gt;
/usr/bin/../lib/c++/v1/limits:443:43: note: declared here&lt;br/&gt;
    _LIBCPP_INLINE_VISIBILITY static type max() _NOEXCEPT &lt;/p&gt;
{return __base::max();}
&lt;p&gt;                                          ^&lt;br/&gt;
In file included from src/mongo/db/repl/replset_commands.cpp:17:&lt;br/&gt;
In file included from src/mongo/pch.h:78:&lt;br/&gt;
In file included from src/mongo/util/goodies.h:22:&lt;br/&gt;
In file included from /opt/boost-clang-libc++/include/boost/thread/condition_variable.hpp:16:&lt;br/&gt;
In file included from /opt/boost-clang-libc++/include/boost/thread/pthread/condition_variable.hpp:9:&lt;br/&gt;
In file included from /opt/boost-clang-libc++/include/boost/thread/pthread/timespec.hpp:20:&lt;br/&gt;
/opt/boost-clang-libc++/include/boost/chrono/duration.hpp:369:55: error: constexpr function never produces a constant expression&lt;br/&gt;
        static BOOST_CHRONO_LIB_CONSTEXPR long double lowest() BOOST_CHRONO_LIB_NOEXCEPT_OR_THROW&lt;br/&gt;
                                                      ^&lt;br/&gt;
/opt/boost-clang-libc++/include/boost/chrono/duration.hpp:371:21: note: non-constexpr function &apos;max&apos; cannot be used in a constant expression&lt;br/&gt;
            return -(std::numeric_limits&amp;lt;long double&amp;gt;::max)();&lt;br/&gt;
                    ^&lt;br/&gt;
/usr/bin/../lib/c++/v1/limits:443:43: note: declared here&lt;br/&gt;
    _LIBCPP_INLINE_VISIBILITY static type max() _NOEXCEPT &lt;/p&gt;
{return __base::max();}
&lt;p&gt;                                          ^&lt;br/&gt;
In file included from src/mongo/db/commands/find_and_modify.cpp:19:&lt;br/&gt;
In file included from src/mongo/pch.h:78:&lt;br/&gt;
In file included from src/mongo/util/goodies.h:22:&lt;br/&gt;
In file included from /opt/boost-clang-libc++/include/boost/thread/condition_variable.hpp:16:&lt;br/&gt;
In file included from /opt/boost-clang-libc++/include/boost/thread/pthread/condition_variable.hpp:9:&lt;br/&gt;
In file included from /opt/boost-clang-libc++/include/boost/thread/pthread/timespec.hpp:20:&lt;br/&gt;
/opt/boost-clang-libc++/include/boost/chrono/duration.hpp:353:49: error: constexpr function never produces a constant expression&lt;br/&gt;
        static BOOST_CHRONO_LIB_CONSTEXPR float lowest() BOOST_CHRONO_LIB_NOEXCEPT_OR_THROW&lt;br/&gt;
                                                ^&lt;br/&gt;
/opt/boost-clang-libc++/include/boost/chrono/duration.hpp:355:21: note: non-constexpr function &apos;max&apos; cannot be used in a constant expression&lt;br/&gt;
            return -(std::numeric_limits&amp;lt;float&amp;gt;::max) ();&lt;br/&gt;
                    ^&lt;br/&gt;
/usr/bin/../lib/c++/v1/limits:443:43: note: declared here&lt;br/&gt;
    _LIBCPP_INLINE_VISIBILITY static type max() _NOEXCEPT &lt;/p&gt;
{return __base::max();}
&lt;p&gt;                                          ^&lt;br/&gt;
In file included from src/mongo/db/commands/find_and_modify.cpp:19:&lt;br/&gt;
In file included from src/mongo/pch.h:78:&lt;br/&gt;
In file included from src/mongo/util/goodies.h:22:&lt;br/&gt;
In file included from /opt/boost-clang-libc++/include/boost/thread/condition_variable.hpp:16:&lt;br/&gt;
In file included from /opt/boost-clang-libc++/include/boost/thread/pthread/condition_variable.hpp:9:&lt;br/&gt;
In file included from /opt/boost-clang-libc++/include/boost/thread/pthread/timespec.hpp:20:&lt;br/&gt;
/opt/boost-clang-libc++/include/boost/chrono/duration.hpp:361:50: error: constexpr function never produces a constant expression&lt;br/&gt;
        static BOOST_CHRONO_LIB_CONSTEXPR double lowest() BOOST_CHRONO_LIB_NOEXCEPT_OR_THROW&lt;br/&gt;
                                                 ^&lt;br/&gt;
/opt/boost-clang-libc++/include/boost/chrono/duration.hpp:363:21: note: non-constexpr function &apos;max&apos; cannot be used in a constant expression&lt;br/&gt;
            return -(std::numeric_limits&amp;lt;double&amp;gt;::max) ();&lt;br/&gt;
                    ^&lt;br/&gt;
/usr/bin/../lib/c++/v1/limits:443:43: note: declared here&lt;br/&gt;
    _LIBCPP_INLINE_VISIBILITY static type max() _NOEXCEPT &lt;/p&gt;
{return __base::max();}
&lt;p&gt;                                          ^&lt;br/&gt;
In file included from src/mongo/db/commands/find_and_modify.cpp:19:&lt;br/&gt;
In file included from src/mongo/pch.h:78:&lt;br/&gt;
In file included from src/mongo/util/goodies.h:22:&lt;br/&gt;
In file included from /opt/boost-clang-libc++/include/boost/thread/condition_variable.hpp:16:&lt;br/&gt;
In file included from /opt/boost-clang-libc++/include/boost/thread/pthread/condition_variable.hpp:9:&lt;br/&gt;
In file included from /opt/boost-clang-libc++/include/boost/thread/pthread/timespec.hpp:20:&lt;br/&gt;
/opt/boost-clang-libc++/include/boost/chrono/duration.hpp:369:55: error: constexpr function never produces a constant expression&lt;br/&gt;
        static BOOST_CHRONO_LIB_CONSTEXPR long double lowest() BOOST_CHRONO_LIB_NOEXCEPT_OR_THROW&lt;br/&gt;
                                                      ^&lt;br/&gt;
/opt/boost-clang-libc++/include/boost/chrono/duration.hpp:371:21: note: non-constexpr function &apos;max&apos; cannot be used in a constant expression&lt;br/&gt;
            return -(std::numeric_limits&amp;lt;long double&amp;gt;::max)();&lt;br/&gt;
                    ^&lt;br/&gt;
/usr/bin/../lib/c++/v1/limits:443:43: note: declared here&lt;br/&gt;
    _LIBCPP_INLINE_VISIBILITY static type max() _NOEXCEPT &lt;/p&gt;
{return __base::max();}
&lt;p&gt;                                          ^&lt;br/&gt;
In file included from src/mongo/db/commands.cpp:20:&lt;br/&gt;
In file included from src/mongo/pch.h:78:&lt;br/&gt;
In file included from src/mongo/util/goodies.h:22:&lt;br/&gt;
In file included from /opt/boost-clang-libc++/include/boost/thread/condition_variable.hpp:16:&lt;br/&gt;
In file included from /opt/boost-clang-libc++/include/boost/thread/pthread/condition_variable.hpp:9:&lt;br/&gt;
In file included from /opt/boost-clang-libc++/include/boost/thread/pthread/timespec.hpp:20:&lt;br/&gt;
/opt/boost-clang-libc++/include/boost/chrono/duration.hpp:353:49: error: constexpr function never produces a constant expression&lt;br/&gt;
        static BOOST_CHRONO_LIB_CONSTEXPR float lowest() BOOST_CHRONO_LIB_NOEXCEPT_OR_THROW&lt;br/&gt;
                                                ^&lt;br/&gt;
/opt/boost-clang-libc++/include/boost/chrono/duration.hpp:355:21: note: non-constexpr function &apos;max&apos; cannot be used in a constant expression&lt;br/&gt;
            return -(std::numeric_limits&amp;lt;float&amp;gt;::max) ();&lt;br/&gt;
                    ^&lt;br/&gt;
/usr/bin/../lib/c++/v1/limits:443:43: note: declared here&lt;br/&gt;
    _LIBCPP_INLINE_VISIBILITY static type max() _NOEXCEPT &lt;/p&gt;
{return __base::max();}
&lt;p&gt;                                          ^&lt;br/&gt;
In file included from src/mongo/db/commands.cpp:20:&lt;br/&gt;
In file included from src/mongo/pch.h:78:&lt;br/&gt;
In file included from src/mongo/util/goodies.h:22:&lt;br/&gt;
In file included from /opt/boost-clang-libc++/include/boost/thread/condition_variable.hpp:16:&lt;br/&gt;
In file included from /opt/boost-clang-libc++/include/boost/thread/pthread/condition_variable.hpp:9:&lt;br/&gt;
In file included from /opt/boost-clang-libc++/include/boost/thread/pthread/timespec.hpp:20:&lt;br/&gt;
/opt/boost-clang-libc++/include/boost/chrono/duration.hpp:361:50: error: constexpr function never produces a constant expression&lt;br/&gt;
        static BOOST_CHRONO_LIB_CONSTEXPR double lowest() BOOST_CHRONO_LIB_NOEXCEPT_OR_THROW&lt;br/&gt;
                                                 ^&lt;br/&gt;
/opt/boost-clang-libc++/include/boost/chrono/duration.hpp:363:21: note: non-constexpr function &apos;max&apos; cannot be used in a constant expression&lt;br/&gt;
            return -(std::numeric_limits&amp;lt;double&amp;gt;::max) ();&lt;br/&gt;
                    ^&lt;br/&gt;
/usr/bin/../lib/c++/v1/limits:443:43: note: declared here&lt;br/&gt;
    _LIBCPP_INLINE_VISIBILITY static type max() _NOEXCEPT &lt;/p&gt;
{return __base::max();}
&lt;p&gt;                                          ^&lt;br/&gt;
In file included from src/mongo/db/commands.cpp:20:&lt;br/&gt;
In file included from src/mongo/pch.h:78:&lt;br/&gt;
In file included from src/mongo/util/goodies.h:22:&lt;br/&gt;
In file included from /opt/boost-clang-libc++/include/boost/thread/condition_variable.hpp:16:&lt;br/&gt;
In file included from /opt/boost-clang-libc++/include/boost/thread/pthread/condition_variable.hpp:9:&lt;br/&gt;
In file included from /opt/boost-clang-libc++/include/boost/thread/pthread/timespec.hpp:20:&lt;br/&gt;
/opt/boost-clang-libc++/include/boost/chrono/duration.hpp:369:55: error: constexpr function never produces a constant expression&lt;br/&gt;
        static BOOST_CHRONO_LIB_CONSTEXPR long double lowest() BOOST_CHRONO_LIB_NOEXCEPT_OR_THROW&lt;br/&gt;
                                                      ^&lt;br/&gt;
/opt/boost-clang-libc++/include/boost/chrono/duration.hpp:371:21: note: non-constexpr function &apos;max&apos; cannot be used in a constant expression&lt;br/&gt;
            return -(std::numeric_limits&amp;lt;long double&amp;gt;::max)();&lt;br/&gt;
                    ^&lt;br/&gt;
/usr/bin/../lib/c++/v1/limits:443:43: note: declared here&lt;br/&gt;
    _LIBCPP_INLINE_VISIBILITY static type max() _NOEXCEPT &lt;/p&gt;
{return __base::max();}
&lt;p&gt;                                          ^&lt;br/&gt;
In file included from src/mongo/db/commands/server_status.cpp:19:&lt;br/&gt;
In file included from src/mongo/pch.h:78:&lt;br/&gt;
In file included from src/mongo/util/goodies.h:22:&lt;br/&gt;
In file included from /opt/boost-clang-libc++/include/boost/thread/condition_variable.hpp:16:&lt;br/&gt;
In file included from /opt/boost-clang-libc++/include/boost/thread/pthread/condition_variable.hpp:9:&lt;br/&gt;
In file included from /opt/boost-clang-libc++/include/boost/thread/pthread/timespec.hpp:20:&lt;br/&gt;
/opt/boost-clang-libc++/include/boost/chrono/duration.hpp:353:49: error: constexpr function never produces a constant expression&lt;br/&gt;
        static BOOST_CHRONO_LIB_CONSTEXPR float lowest() BOOST_CHRONO_LIB_NOEXCEPT_OR_THROW&lt;br/&gt;
                                                ^&lt;br/&gt;
/opt/boost-clang-libc++/include/boost/chrono/duration.hpp:355:21: note: non-constexpr function &apos;max&apos; cannot be used in a constant expression&lt;br/&gt;
            return -(std::numeric_limits&amp;lt;float&amp;gt;::max) ();&lt;br/&gt;
                    ^&lt;br/&gt;
/usr/bin/../lib/c++/v1/limits:443:43: note: declared here&lt;br/&gt;
    _LIBCPP_INLINE_VISIBILITY static type max() _NOEXCEPT &lt;/p&gt;
{return __base::max();}
&lt;p&gt;                                          ^&lt;br/&gt;
In file included from src/mongo/db/commands/server_status.cpp:19:&lt;br/&gt;
In file included from src/mongo/pch.h:78:&lt;br/&gt;
In file included from src/mongo/util/goodies.h:22:&lt;br/&gt;
In file included from /opt/boost-clang-libc++/include/boost/thread/condition_variable.hpp:16:&lt;br/&gt;
In file included from /opt/boost-clang-libc++/include/boost/thread/pthread/condition_variable.hpp:9:&lt;br/&gt;
In file included from /opt/boost-clang-libc++/include/boost/thread/pthread/timespec.hpp:20:&lt;br/&gt;
/opt/boost-clang-libc++/include/boost/chrono/duration.hpp:361:50: error: constexpr function never produces a constant expression&lt;br/&gt;
        static BOOST_CHRONO_LIB_CONSTEXPR double lowest() BOOST_CHRONO_LIB_NOEXCEPT_OR_THROW&lt;br/&gt;
                                                 ^&lt;br/&gt;
/opt/boost-clang-libc++/include/boost/chrono/duration.hpp:363:21: note: non-constexpr function &apos;max&apos; cannot be used in a constant expression&lt;br/&gt;
            return -(std::numeric_limits&amp;lt;double&amp;gt;::max) ();&lt;br/&gt;
                    ^&lt;br/&gt;
/usr/bin/../lib/c++/v1/limits:443:43: note: declared here&lt;br/&gt;
    _LIBCPP_INLINE_VISIBILITY static type max() _NOEXCEPT &lt;/p&gt;
{return __base::max();}
&lt;p&gt;                                          ^&lt;br/&gt;
In file included from src/mongo/db/commands/server_status.cpp:19:&lt;br/&gt;
In file included from src/mongo/pch.h:78:&lt;br/&gt;
In file included from src/mongo/util/goodies.h:22:&lt;br/&gt;
In file included from /opt/boost-clang-libc++/include/boost/thread/condition_variable.hpp:16:&lt;br/&gt;
In file included from /opt/boost-clang-libc++/include/boost/thread/pthread/condition_variable.hpp:9:&lt;br/&gt;
In file included from /opt/boost-clang-libc++/include/boost/thread/pthread/timespec.hpp:20:&lt;br/&gt;
/opt/boost-clang-libc++/include/boost/chrono/duration.hpp:369:55: error: constexpr function never produces a constant expression&lt;br/&gt;
        static BOOST_CHRONO_LIB_CONSTEXPR long double lowest() BOOST_CHRONO_LIB_NOEXCEPT_OR_THROW&lt;br/&gt;
                                                      ^&lt;br/&gt;
/opt/boost-clang-libc++/include/boost/chrono/duration.hpp:371:21: note: non-constexpr function &apos;max&apos; cannot be used in a constant expression&lt;br/&gt;
            return -(std::numeric_limits&amp;lt;long double&amp;gt;::max)();&lt;br/&gt;
                    ^&lt;br/&gt;
/usr/bin/../lib/c++/v1/limits:443:43: note: declared here&lt;br/&gt;
    _LIBCPP_INLINE_VISIBILITY static type max() _NOEXCEPT &lt;/p&gt;
{return __base::max();}
&lt;p&gt;                                          ^&lt;br/&gt;
In file included from src/mongo/db/auth/action_set.cpp:16:&lt;br/&gt;
In file included from src/mongo/pch.h:78:&lt;br/&gt;
In file included from src/mongo/util/goodies.h:22:&lt;br/&gt;
In file included from /opt/boost-clang-libc++/include/boost/thread/condition_variable.hpp:16:&lt;br/&gt;
In file included from /opt/boost-clang-libc++/include/boost/thread/pthread/condition_variable.hpp:9:&lt;br/&gt;
In file included from /opt/boost-clang-libc++/include/boost/thread/pthread/timespec.hpp:20:&lt;br/&gt;
/opt/boost-clang-libc++/include/boost/chrono/duration.hpp:353:49: error: constexpr function never produces a constant expression&lt;br/&gt;
        static BOOST_CHRONO_LIB_CONSTEXPR float lowest() BOOST_CHRONO_LIB_NOEXCEPT_OR_THROW&lt;br/&gt;
                                                ^&lt;br/&gt;
/opt/boost-clang-libc++/include/boost/chrono/duration.hpp:355:21: note: non-constexpr function &apos;max&apos; cannot be used in a constant expression&lt;br/&gt;
            return -(std::numeric_limits&amp;lt;float&amp;gt;::max) ();&lt;br/&gt;
                    ^&lt;br/&gt;
/usr/bin/../lib/c++/v1/limits:443:43: note: declared here&lt;br/&gt;
    _LIBCPP_INLINE_VISIBILITY static type max() _NOEXCEPT &lt;/p&gt;
{return __base::max();}
&lt;p&gt;                                          ^&lt;br/&gt;
In file included from src/mongo/db/auth/action_set.cpp:16:&lt;br/&gt;
In file included from src/mongo/pch.h:78:&lt;br/&gt;
In file included from src/mongo/util/goodies.h:22:&lt;br/&gt;
In file included from /opt/boost-clang-libc++/include/boost/thread/condition_variable.hpp:16:&lt;br/&gt;
In file included from /opt/boost-clang-libc++/include/boost/thread/pthread/condition_variable.hpp:9:&lt;br/&gt;
In file included from /opt/boost-clang-libc++/include/boost/thread/pthread/timespec.hpp:20:&lt;br/&gt;
/opt/boost-clang-libc++/include/boost/chrono/duration.hpp:361:50: error: constexpr function never produces a constant expression&lt;br/&gt;
        static BOOST_CHRONO_LIB_CONSTEXPR double lowest() BOOST_CHRONO_LIB_NOEXCEPT_OR_THROW&lt;br/&gt;
                                                 ^&lt;br/&gt;
/opt/boost-clang-libc++/include/boost/chrono/duration.hpp:363:21: note: non-constexpr function &apos;max&apos; cannot be used in a constant expression&lt;br/&gt;
            return -(std::numeric_limits&amp;lt;double&amp;gt;::max) ();&lt;br/&gt;
                    ^&lt;br/&gt;
/usr/bin/../lib/c++/v1/limits:443:43: note: declared here&lt;br/&gt;
    _LIBCPP_INLINE_VISIBILITY static type max() _NOEXCEPT &lt;/p&gt;
{return __base::max();}
&lt;p&gt;                                          ^&lt;br/&gt;
In file included from src/mongo/db/auth/action_set.cpp:16:&lt;br/&gt;
In file included from src/mongo/pch.h:78:&lt;br/&gt;
In file included from src/mongo/util/goodies.h:22:&lt;br/&gt;
In file included from /opt/boost-clang-libc++/include/boost/thread/condition_variable.hpp:16:&lt;br/&gt;
In file included from /opt/boost-clang-libc++/include/boost/thread/pthread/condition_variable.hpp:9:&lt;br/&gt;
In file included from /opt/boost-clang-libc++/include/boost/thread/pthread/timespec.hpp:20:&lt;br/&gt;
/opt/boost-clang-libc++/include/boost/chrono/duration.hpp:369:55: error: constexpr function never produces a constant expression&lt;br/&gt;
        static BOOST_CHRONO_LIB_CONSTEXPR long double lowest() BOOST_CHRONO_LIB_NOEXCEPT_OR_THROW&lt;br/&gt;
                                                      ^&lt;br/&gt;
/opt/boost-clang-libc++/include/boost/chrono/duration.hpp:371:21: note: non-constexpr function &apos;max&apos; cannot be used in a constant expression&lt;br/&gt;
            return -(std::numeric_limits&amp;lt;long double&amp;gt;::max)();&lt;br/&gt;
                    ^&lt;br/&gt;
/usr/bin/../lib/c++/v1/limits:443:43: note: declared here&lt;br/&gt;
    _LIBCPP_INLINE_VISIBILITY static type max() _NOEXCEPT &lt;/p&gt;
{return __base::max();}
&lt;p&gt;                                          ^&lt;br/&gt;
In file included from src/mongo/db/d_concurrency.cpp:19:&lt;br/&gt;
In file included from src/mongo/pch.h:78:&lt;br/&gt;
In file included from src/mongo/util/goodies.h:22:&lt;br/&gt;
In file included from /opt/boost-clang-libc++/include/boost/thread/condition_variable.hpp:16:&lt;br/&gt;
In file included from /opt/boost-clang-libc++/include/boost/thread/pthread/condition_variable.hpp:9:&lt;br/&gt;
In file included from /opt/boost-clang-libc++/include/boost/thread/pthread/timespec.hpp:20:&lt;br/&gt;
/opt/boost-clang-libc++/include/boost/chrono/duration.hpp:353:49: error: constexpr function never produces a constant expression&lt;br/&gt;
        static BOOST_CHRONO_LIB_CONSTEXPR float lowest() BOOST_CHRONO_LIB_NOEXCEPT_OR_THROW&lt;br/&gt;
                                                ^&lt;br/&gt;
/opt/boost-clang-libc++/include/boost/chrono/duration.hpp:355:21: note: non-constexpr function &apos;max&apos; cannot be used in a constant expression&lt;br/&gt;
            return -(std::numeric_limits&amp;lt;float&amp;gt;::max) ();&lt;br/&gt;
                    ^&lt;br/&gt;
/usr/bin/../lib/c++/v1/limits:443:43: note: declared here&lt;br/&gt;
    _LIBCPP_INLINE_VISIBILITY static type max() _NOEXCEPT &lt;/p&gt;
{return __base::max();}
&lt;p&gt;                                          ^&lt;br/&gt;
In file included from src/mongo/db/d_concurrency.cpp:19:&lt;br/&gt;
In file included from src/mongo/pch.h:78:&lt;br/&gt;
In file included from src/mongo/util/goodies.h:22:&lt;br/&gt;
In file included from /opt/boost-clang-libc++/include/boost/thread/condition_variable.hpp:16:&lt;br/&gt;
In file included from /opt/boost-clang-libc++/include/boost/thread/pthread/condition_variable.hpp:9:&lt;br/&gt;
In file included from /opt/boost-clang-libc++/include/boost/thread/pthread/timespec.hpp:20:&lt;br/&gt;
/opt/boost-clang-libc++/include/boost/chrono/duration.hpp:361:50: error: constexpr function never produces a constant expression&lt;br/&gt;
        static BOOST_CHRONO_LIB_CONSTEXPR double lowest() BOOST_CHRONO_LIB_NOEXCEPT_OR_THROW&lt;br/&gt;
                                                 ^&lt;br/&gt;
/opt/boost-clang-libc++/include/boost/chrono/duration.hpp:363:21: note: non-constexpr function &apos;max&apos; cannot be used in a constant expression&lt;br/&gt;
            return -(std::numeric_limits&amp;lt;double&amp;gt;::max) ();&lt;br/&gt;
                    ^&lt;br/&gt;
/usr/bin/../lib/c++/v1/limits:443:43: note: declared here&lt;br/&gt;
    _LIBCPP_INLINE_VISIBILITY static type max() _NOEXCEPT &lt;/p&gt;
{return __base::max();}
&lt;p&gt;                                          ^&lt;br/&gt;
In file included from src/mongo/db/d_concurrency.cpp:19:&lt;br/&gt;
In file included from src/mongo/pch.h:78:&lt;br/&gt;
In file included from src/mongo/util/goodies.h:22:&lt;br/&gt;
In file included from /opt/boost-clang-libc++/include/boost/thread/condition_variable.hpp:16:&lt;br/&gt;
In file included from /opt/boost-clang-libc++/include/boost/thread/pthread/condition_variable.hpp:9:&lt;br/&gt;
In file included from /opt/boost-clang-libc++/include/boost/thread/pthread/timespec.hpp:20:&lt;br/&gt;
/opt/boost-clang-libc++/include/boost/chrono/duration.hpp:369:55: error: constexpr function never produces a constant expression&lt;br/&gt;
        static BOOST_CHRONO_LIB_CONSTEXPR long double lowest() BOOST_CHRONO_LIB_NOEXCEPT_OR_THROW&lt;br/&gt;
                                                      ^&lt;br/&gt;
/opt/boost-clang-libc++/include/boost/chrono/duration.hpp:371:21: note: non-constexpr function &apos;max&apos; cannot be used in a constant expression&lt;br/&gt;
            return -(std::numeric_limits&amp;lt;long double&amp;gt;::max)();&lt;br/&gt;
                    ^&lt;br/&gt;
/usr/bin/../lib/c++/v1/limits:443:43: note: declared here&lt;br/&gt;
    _LIBCPP_INLINE_VISIBILITY static type max() _NOEXCEPT &lt;/p&gt;
{return __base::max();}
&lt;p&gt;                                          ^&lt;br/&gt;
3 errors generated.&lt;br/&gt;
scons: *** &lt;span class=&quot;error&quot;&gt;&amp;#91;build/darwin/64/allocator_system/c++11/cc_clang/cxx_clang++/extrapath__opt_boost-clang-libc++_/libc++/use-system-boost/mongo/db/auth/authz_session_external_state.o&amp;#93;&lt;/span&gt; Error 1&lt;br/&gt;
In file included from src/mongo/db/commands/fail_point_cmd.cpp:23:&lt;br/&gt;
In file included from src/mongo/db/commands.h:24:&lt;br/&gt;
In file included from src/mongo/db/auth/authorization_manager.h:25:&lt;br/&gt;
In file included from src/mongo/db/auth/authz_manager_external_state.h:24:&lt;br/&gt;
In file included from src/mongo/db/jsobj.h:31:&lt;br/&gt;
In file included from src/mongo/pch.h:78:&lt;br/&gt;
In file included from src/mongo/util/goodies.h:22:&lt;br/&gt;
In file included from /opt/boost-clang-libc++/include/boost/thread/condition_variable.hpp:16:&lt;br/&gt;
In file included from /opt/boost-clang-libc++/include/boost/thread/pthread/condition_variable.hpp:9:&lt;br/&gt;
In file included from /opt/boost-clang-libc++/include/boost/thread/pthread/timespec.hpp:20:&lt;br/&gt;
/opt/boost-clang-libc++/include/boost/chrono/duration.hpp:353:49: error: constexpr function never produces a constant expression&lt;br/&gt;
        static BOOST_CHRONO_LIB_CONSTEXPR float lowest() BOOST_CHRONO_LIB_NOEXCEPT_OR_THROW&lt;br/&gt;
                                                ^&lt;br/&gt;
/opt/boost-clang-libc++/include/boost/chrono/duration.hpp:355:21: note: non-constexpr function &apos;max&apos; cannot be used in a constant expression&lt;br/&gt;
            return -(std::numeric_limits&amp;lt;float&amp;gt;::max) ();&lt;br/&gt;
                    ^&lt;br/&gt;
/usr/bin/../lib/c++/v1/limits:443:43: note: declared here&lt;br/&gt;
    _LIBCPP_INLINE_VISIBILITY static type max() _NOEXCEPT &lt;/p&gt;
{return __base::max();}
&lt;p&gt;                                          ^&lt;br/&gt;
In file included from src/mongo/db/commands/fail_point_cmd.cpp:23:&lt;br/&gt;
In file included from src/mongo/db/commands.h:24:&lt;br/&gt;
In file included from src/mongo/db/auth/authorization_manager.h:25:&lt;br/&gt;
In file included from src/mongo/db/auth/authz_manager_external_state.h:24:&lt;br/&gt;
In file included from src/mongo/db/jsobj.h:31:&lt;br/&gt;
In file included from src/mongo/pch.h:78:&lt;br/&gt;
In file included from src/mongo/util/goodies.h:22:&lt;br/&gt;
In file included from /opt/boost-clang-libc++/include/boost/thread/condition_variable.hpp:16:&lt;br/&gt;
In file included from /opt/boost-clang-libc++/include/boost/thread/pthread/condition_variable.hpp:9:&lt;br/&gt;
In file included from /opt/boost-clang-libc++/include/boost/thread/pthread/timespec.hpp:20:&lt;br/&gt;
/opt/boost-clang-libc++/include/boost/chrono/duration.hpp:361:50: error: constexpr function never produces a constant expression&lt;br/&gt;
        static BOOST_CHRONO_LIB_CONSTEXPR double lowest() BOOST_CHRONO_LIB_NOEXCEPT_OR_THROW&lt;br/&gt;
                                                 ^&lt;br/&gt;
/opt/boost-clang-libc++/include/boost/chrono/duration.hpp:363:21: note: non-constexpr function &apos;max&apos; cannot be used in a constant expression&lt;br/&gt;
            return -(std::numeric_limits&amp;lt;double&amp;gt;::max) ();&lt;br/&gt;
                    ^&lt;br/&gt;
/usr/bin/../lib/c++/v1/limits:443:43: note: declared here&lt;br/&gt;
    _LIBCPP_INLINE_VISIBILITY static type max() _NOEXCEPT &lt;/p&gt;
{return __base::max();}
&lt;p&gt;                                          ^&lt;br/&gt;
In file included from src/mongo/db/commands/fail_point_cmd.cpp:23:&lt;br/&gt;
In file included from src/mongo/db/commands.h:24:&lt;br/&gt;
In file included from src/mongo/db/auth/authorization_manager.h:25:&lt;br/&gt;
In file included from src/mongo/db/auth/authz_manager_external_state.h:24:&lt;br/&gt;
In file included from src/mongo/db/jsobj.h:31:&lt;br/&gt;
In file included from src/mongo/pch.h:78:&lt;br/&gt;
In file included from src/mongo/util/goodies.h:22:&lt;br/&gt;
In file included from /opt/boost-clang-libc++/include/boost/thread/condition_variable.hpp:16:&lt;br/&gt;
In file included from /opt/boost-clang-libc++/include/boost/thread/pthread/condition_variable.hpp:9:&lt;br/&gt;
In file included from /opt/boost-clang-libc++/include/boost/thread/pthread/timespec.hpp:20:&lt;br/&gt;
/opt/boost-clang-libc++/include/boost/chrono/duration.hpp:369:55: error: constexpr function never produces a constant expression&lt;br/&gt;
        static BOOST_CHRONO_LIB_CONSTEXPR long double lowest() BOOST_CHRONO_LIB_NOEXCEPT_OR_THROW&lt;br/&gt;
                                                      ^&lt;br/&gt;
/opt/boost-clang-libc++/include/boost/chrono/duration.hpp:371:21: note: non-constexpr function &apos;max&apos; cannot be used in a constant expression&lt;br/&gt;
            return -(std::numeric_limits&amp;lt;long double&amp;gt;::max)();&lt;br/&gt;
                    ^&lt;br/&gt;
/usr/bin/../lib/c++/v1/limits:443:43: note: declared here&lt;br/&gt;
    _LIBCPP_INLINE_VISIBILITY static type max() _NOEXCEPT &lt;/p&gt;
{return __base::max();}
&lt;p&gt;                                          ^&lt;br/&gt;
3 errors generated.&lt;br/&gt;
scons: *** &lt;span class=&quot;error&quot;&gt;&amp;#91;build/darwin/64/allocator_system/c++11/cc_clang/cxx_clang++/extrapath__opt_boost-clang-libc++_/libc++/use-system-boost/mongo/db/auth/action_set.o&amp;#93;&lt;/span&gt; Error 1&lt;br/&gt;
3 errors generated.&lt;br/&gt;
scons: *** &lt;span class=&quot;error&quot;&gt;&amp;#91;build/darwin/64/allocator_system/c++11/cc_clang/cxx_clang++/extrapath__opt_boost-clang-libc++_/libc++/use-system-boost/mongo/db/stats/top.o&amp;#93;&lt;/span&gt; Error 1&lt;br/&gt;
3 errors generated.&lt;br/&gt;
scons: *** &lt;span class=&quot;error&quot;&gt;&amp;#91;build/darwin/64/allocator_system/c++11/cc_clang/cxx_clang++/extrapath__opt_boost-clang-libc++_/libc++/use-system-boost/mongo/db/commands.o&amp;#93;&lt;/span&gt; Error 1&lt;br/&gt;
3 errors generated.&lt;br/&gt;
scons: *** &lt;span class=&quot;error&quot;&gt;&amp;#91;build/darwin/64/allocator_system/c++11/cc_clang/cxx_clang++/extrapath__opt_boost-clang-libc++_/libc++/use-system-boost/mongo/db/commands/fail_point_cmd.o&amp;#93;&lt;/span&gt; Error 1&lt;br/&gt;
3 errors generated.&lt;br/&gt;
scons: *** &lt;span class=&quot;error&quot;&gt;&amp;#91;build/darwin/64/allocator_system/c++11/cc_clang/cxx_clang++/extrapath__opt_boost-clang-libc++_/libc++/use-system-boost/mongo/db/compact.o&amp;#93;&lt;/span&gt; Error 1&lt;br/&gt;
3 errors generated.&lt;br/&gt;
scons: *** &lt;span class=&quot;error&quot;&gt;&amp;#91;build/darwin/64/allocator_system/c++11/cc_clang/cxx_clang++/extrapath__opt_boost-clang-libc++_/libc++/use-system-boost/mongo/db/introspect.o&amp;#93;&lt;/span&gt; Error 1&lt;br/&gt;
3 errors generated.&lt;br/&gt;
scons: *** &lt;span class=&quot;error&quot;&gt;&amp;#91;build/darwin/64/allocator_system/c++11/cc_clang/cxx_clang++/extrapath__opt_boost-clang-libc++_/libc++/use-system-boost/mongo/db/d_concurrency.o&amp;#93;&lt;/span&gt; Error 1&lt;br/&gt;
3 errors generated.&lt;br/&gt;
scons: *** &lt;span class=&quot;error&quot;&gt;&amp;#91;build/darwin/64/allocator_system/c++11/cc_clang/cxx_clang++/extrapath__opt_boost-clang-libc++_/libc++/use-system-boost/mongo/db/commands/server_status.o&amp;#93;&lt;/span&gt; Error 1&lt;br/&gt;
3 errors generated.&lt;br/&gt;
scons: *** &lt;span class=&quot;error&quot;&gt;&amp;#91;build/darwin/64/allocator_system/c++11/cc_clang/cxx_clang++/extrapath__opt_boost-clang-libc++_/libc++/use-system-boost/mongo/db/repl/oplogreader.o&amp;#93;&lt;/span&gt; Error 1&lt;br/&gt;
3 errors generated.&lt;br/&gt;
scons: *** &lt;span class=&quot;error&quot;&gt;&amp;#91;build/darwin/64/allocator_system/c++11/cc_clang/cxx_clang++/extrapath__opt_boost-clang-libc++_/libc++/use-system-boost/mongo/db/repl/oplog.o&amp;#93;&lt;/span&gt; Error 1&lt;br/&gt;
3 errors generated.&lt;br/&gt;
scons: *** &lt;span class=&quot;error&quot;&gt;&amp;#91;build/darwin/64/allocator_system/c++11/cc_clang/cxx_clang++/extrapath__opt_boost-clang-libc++_/libc++/use-system-boost/mongo/db/commands/find_and_modify.o&amp;#93;&lt;/span&gt; Error 1&lt;br/&gt;
3 errors generated.&lt;br/&gt;
scons: *** &lt;span class=&quot;error&quot;&gt;&amp;#91;build/darwin/64/allocator_system/c++11/cc_clang/cxx_clang++/extrapath__opt_boost-clang-libc++_/libc++/use-system-boost/mongo/db/index/btree_based_builder.o&amp;#93;&lt;/span&gt; Error 1&lt;br/&gt;
3 errors generated.&lt;br/&gt;
scons: *** &lt;span class=&quot;error&quot;&gt;&amp;#91;build/darwin/64/allocator_system/c++11/cc_clang/cxx_clang++/extrapath__opt_boost-clang-libc++_/libc++/use-system-boost/mongo/db/repl/replset_commands.o&amp;#93;&lt;/span&gt; Error 1&lt;br/&gt;
3 errors generated.&lt;br/&gt;
scons: *** &lt;span class=&quot;error&quot;&gt;&amp;#91;build/darwin/64/allocator_system/c++11/cc_clang/cxx_clang++/extrapath__opt_boost-clang-libc++_/libc++/use-system-boost/mongo/db/commands/mr.o&amp;#93;&lt;/span&gt; Error 1&lt;br/&gt;
scons: building terminated because of errors.&lt;/p&gt;
</comment>
                            <comment id="356021" author="acm" created="Sat, 8 Jun 2013 19:09:53 +0000"  >&lt;p&gt;I believe the root problem here is that Apple&apos;s libstdc&amp;#43;&amp;#43; is too old. Probably, when C&amp;#43;&amp;#43;11 mode is enabled, we should verify that we are not using an ancient libstdc&amp;#43;&amp;#43; by checking &amp;#95;&amp;#95;GLIBCXX&amp;#95;&amp;#95; against the list of released versions: &lt;a href=&quot;http://gcc.gnu.org/onlinedocs/libstdc++/manual/abi.html#abi.versioning&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://gcc.gnu.org/onlinedocs/libstdc++/manual/abi.html#abi.versioning&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;On Apple, when using the Apple supplied toolchain, using libc++ is the way to go for C&amp;#43;&amp;#43;11 support, by passing &amp;#45;&amp;#45;libc&amp;#43;&amp;#43; to the mongodb build. When doing so, you will also need to specify &amp;#45;&amp;#45;osx-version-min=10.7 or better, since libc&amp;#43;&amp;#43; is not enabled for builds targeting older releases.&lt;/p&gt;</comment>
                    </comments>
                    <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                <customfield id="customfield_10050" key="com.atlassian.jira.toolkit:comments">
                        <customfieldname># Replies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>10.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10011" key="com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons">
                        <customfieldname>Backwards Compatibility</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10038"><![CDATA[Fully Compatible]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                            <customfield id="customfield_10055" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of 1st Reply</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Sat, 8 Jun 2013 19:09:53 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        10 years, 33 weeks, 1 day ago
    
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_18254" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Dependencies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue><![CDATA[]]></customfieldvalue>


                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_15850" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_10057" key="com.atlassian.jira.toolkit:lastusercommented">
                        <customfieldname>Last comment by Customer</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>true</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_10056" key="com.atlassian.jira.toolkit:lastupdaterorcommenter">
                        <customfieldname>Last commenter</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>ramon.fernandez@mongodb.com</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_11151" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            10 years, 33 weeks, 1 day ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                        <customfield id="customfield_10000" key="com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons">
                        <customfieldname>Old_Backport</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10000"><![CDATA[No]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10032" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>Operating System</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10021"><![CDATA[OS X]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>andrew.morrow@mongodb.com</customfieldvalue>
            <customfieldvalue>auto</customfieldvalue>
            <customfieldvalue>felipe.albrecht</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hrinvj:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hrr1lb:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10558" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>71613</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_23361" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Requested By</customfieldname>
                        <customfieldvalues>
                                

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                            <customfield id="customfield_10750" key="com.atlassian.jira.plugin.system.customfieldtypes:textarea">
                        <customfieldname>Steps To Reproduce</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>&lt;p&gt;git clone git://github.com/mongodb/mongo.git #tested with the lastest commit 9c4382ecb90f1044e3ba0e38991cf5c45281b7ea&lt;/p&gt;

&lt;p&gt;scons --full install  --64=FORCE64  -j 16 --prefix /opt/mongo  --use-system-boost --extrapath=/opt/boost/ --cc=clang --cxx=clang++  --c++11 --allocator=system&lt;/p&gt;</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                    <customfield id="customfield_10053" key="com.atlassian.jira.ext.charting:timeinstatus">
                        <customfieldname>Time In Status</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_22870" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Triagers</customfieldname>
                        <customfieldvalues>
                                

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_14350" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>serverRank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hricmn:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                    </customfields>
    </item>
</channel>
</rss>