Thank you for the breakdown, that's really helpful. It looks like with 4.8.1 as the minimum supported version, we're looking very good for all features: http://gcc.gnu.org/gcc-4.8/cxx0x_status.html
We may need to consider distributing the runtime library or statically linking it to allow users to run the binary from the rpm. On Wed, Feb 26, 2014 at 1:59 PM, Benjamin Mahler <[email protected]>wrote: > Being explicit about compiler version requirements sounds great! > > GCC is still our explicitly supported compiler toolchain and it's how we > test releases for production purposes, at least at Twitter. > > We have been supporting Clang as a best effort so far, but I agree it would > be great to document supported versions. Taking a look at some of our CI, I > see Clang 3.3. is building Mesos. > > Looking at CI for gcc, I see the following building with C++11: > > *Mesos builds with C++11:* > CentOS 5 - with devtoolset-2 gcc 4.8.1 > CentOS 6 - with devtoolset-2 gcc 4.8.1 > Fedora 19 - gcc 4.8.2 > Fedora 20 - gcc 4.8.2 > Ubuntu 13.10 - gcc 4.8.x > > *Mesos does not build with C++11:* > CentOS 5 - gcc 4.1.2 > CentOS 6 - gcc 4.4.7 > Ubuntu 12.10 - gcc 4.7.x > Ubuntu 12.04 - gcc 4.6.x > > So we already do not support gcc 4.7 for C++11. > > It's important here to make the distinction that this is for development, > ideally those are running from RPMs are agnostic to the gcc version used. > But, I suppose the c++11 shared library will not present on the machine. > > On Wed, Feb 26, 2014 at 12:08 PM, Dominic Hamon <[email protected] > >wrote: > > > Forwarding from the right account to avoid Spam filters ... > > > > ---------- Forwarded message ---------- > > From: Dominic Hamon <[email protected]> > > Date: Wed, Feb 26, 2014 at 11:46 AM > > Subject: Re: Path forward to C++11. > > To: [email protected] > > > > > > What do you mean by 'C++11 support' in the compiler? g++4.7 supports some > > features, not all. > > > > I think we need to define the set of C++11 features we want to support > > first before making any decisions regarding timeline. Then we can look at > > the state of the nation in regards to C++11 feature support in different > > compilers on different OSs, and which are available out of the box. We > > don't want to limit our community involvement by shutting out certain > > platforms for development. > > > > Ideally, we'd be able to say something like "0.19.0 builds on g++4.7 and > > clang 3.3 or greater" and "0.20.0 builds on g++4.8 and clang 3.4 or > > greater" instead of blanket C++11 support. > > > > > > > > > > On Wed, Feb 26, 2014 at 10:20 AM, Benjamin Mahler < > > [email protected] > > > wrote: > > > > > Update on MESOS-750: > > > > > > 0.17.0 is being released with the --with-cxx11 capability at configure > > > time. > > > > > > I chatted with some of the committers and we'd like to move forward > with > > > the final two phases of MESOS-750 as follows: > > > > > > 0.18.0: --with-cxx11 will become the _default_. --without-cxx11 will be > > > available for those who wish to use older compilers. > > > > > > 0.19.0: c++11 required; Mesos will not build with a compiler that does > > not > > > have c++11 support. > > > > > > If there are any objections please speak now. If not, I'll update the > > > ticket to reflect the current path towards C++11. > > > > > > > > > On Mon, Oct 28, 2013 at 8:09 PM, Benjamin Mahler > > > <[email protected]>wrote: > > > > > > > Thanks for the heads up, we're likely to upgrade to 3.3.6, but I've > yet > > > to > > > > confirm that it builds with c++11. > > > > > > > > > > > > On Thu, Oct 24, 2013 at 8:10 AM, Tim St Clair <[email protected]> > > > wrote: > > > > > > > >> +1 to the approach. > > > >> > > > >> FWIW made a quick update to the zookeeper.spec ( > > > >> http://koji.fedoraproject.org/koji/buildinfo?buildID=465529) and > > > updated: > > > >> > > > >> export CC='gcc -std=c11' > > > >> export CXX='g++ -std=c++11' > > > >> > > > >> prior to 'configure', and it failed compilation pretty quickly. > > > >> It may make sense to track integration issues and > > versions...somewhere. > > > >> > > > >> So when --with-cpp11 is enabled, it can hard check on version >= > > > >> fixed_version. > > > >> > > > >> Cheers, > > > >> Tim > > > >> > > > >> ----- Original Message ----- > > > >> > From: "Benjamin Mahler" <[email protected]> > > > >> > To: [email protected] > > > >> > Sent: Wednesday, October 23, 2013 4:46:49 PM > > > >> > Subject: Path forward to C++11. > > > >> > > > > >> > As discussed in MESOS-750 < > > > >> https://issues.apache.org/jira/browse/MESOS-750>, > > > >> > we would like to move to C++11. > > > >> > > > > >> > The proposed plan is to do this in phases to allow everyone time > to > > > >> adjust > > > >> > to this change: > > > >> > > > > >> > > > > >> > Phase 1: Send an email to the dev@ list soliciting objections / > > > >> feedback. > > > >> > We're currently here. :) > > > >> > > > > >> > Phase 2: Add an option --with-cpp11 that defaults to false. > > > >> > > > > >> > Phase 3: At this point, developers can and should begin using > > > >> --with-cpp11. > > > >> > In this phase, we'll need to make sure the project and > dependencies > > > can > > > >> > compile with c++11. > > > >> > > > > >> > Phase 4: Default to --with-cpp11 but still leave the option in > order > > > to > > > >> > allow folks to turn this off if needed. At this point, we still > > cannot > > > >> rely > > > >> > on C++11. > > > >> > > > > >> > Phase 5: Remove --with-cpp11 leaving no ability to turn it off. > From > > > >> this > > > >> > point forward, we can begin to use C++11 features unconditionally. > > > >> > > > > >> > > > > >> > Please reply to this thread with any objections, comments, or > > advice! > > > To > > > >> > get a better sense of how others feel about this (I currently only > > > know > > > >> > that some of the other core contributors are on board), please > feel > > > >> free to > > > >> > reply with something as simple as a +1 as well. > > > >> > > > > >> > Thanks! > > > >> > Ben > > > >> > > > > >> > > > >> -- > > > >> Cheers, > > > >> Tim > > > >> > > > > > > > > > > > > > > > > > > > -- > > Dominic Hamon | @mrdo | Twitter > > *There are no bad ideas; only good ideas that go horribly wrong.* > > >
