You’re right. I also and to recompile the version of gcc I installed with homebrew to include support for c++. Going to dump the install process below incase anyone else runs into this.
I still had to replace protobufs (but that’s an issue already resolved in JIRA). (Switched to 4.3 since it seems homebrew/versions doesn’t have 4.2) > brew tap homebrew/versions > brew install homebrew/versions/gcc4.3 --enable-cxx > ./bootstrap > CC=“gcc-4.3” CXX=“g++-4.3” ./configure > make Thanks for the pointers! :) — Tom Arnfeld Developer // DueDil On 30 Jan 2014, at 20:03, Benjamin Mahler <[email protected]> wrote: > Did you intend to set CC and CXX? CC is the C compiler, CXX is the C++ > compiler. > > E.g. > > CC="gcc-4.2" CXX="g++-4.2" ./configure > > > On Thu, Jan 30, 2014 at 11:52 AM, Tom Arnfeld <[email protected]> wrote: > I’ve removed that flag and run `make clean` but now I get back to the errors > with Apple’s GCC compiler... > > > make clean > > CC="gcc-4.2" ./configure > > make > > As far as the protobuf upgrade goes, I noticed in JIRA that was release into > 0.17.0 – I can’t seem to find the source for that version anywhere? > > ##################################################################### > > g++ -DHAVE_CONFIG_H -I. -I./src -I./src -D_THREAD_SAFE -Wall > -Wwrite-strings -Woverloaded-virtual -Wno-sign-compare -DNO_FRAME_POINTER > -g -O2 -MT symbolize_unittest-symbolize_unittest.o -MD -MP -MF > .deps/symbolize_unittest-symbolize_unittest.Tpo -c -o > symbolize_unittest-symbolize_unittest.o `test -f 'src/symbolize_unittest.cc' > || echo './'`src/symbolize_unittest.cc > mv -f .deps/symbolize_unittest-symbolize_unittest.Tpo > .deps/symbolize_unittest-symbolize_unittest.Po > /bin/sh ./libtool --tag=CXX --mode=link g++ -D_THREAD_SAFE -Wall > -Wwrite-strings -Woverloaded-virtual -Wno-sign-compare -DNO_FRAME_POINTER > -g -O2 -D_THREAD_SAFE -o symbolize_unittest > symbolize_unittest-symbolize_unittest.o libglog.la -lpthread > libtool: link: g++ -D_THREAD_SAFE -Wall -Wwrite-strings -Woverloaded-virtual > -Wno-sign-compare -DNO_FRAME_POINTER -g -O2 -D_THREAD_SAFE -o > symbolize_unittest symbolize_unittest-symbolize_unittest.o -Wl,-bind_at_load > ./.libs/libglog.a -lpthread > g++ -DHAVE_CONFIG_H -I. -I./src -I./src -D_THREAD_SAFE -Wall > -Wwrite-strings -Woverloaded-virtual -Wno-sign-compare -DNO_FRAME_POINTER > -g -O2 -MT stl_logging_unittest-stl_logging_unittest.o -MD -MP -MF > .deps/stl_logging_unittest-stl_logging_unittest.Tpo -c -o > stl_logging_unittest-stl_logging_unittest.o `test -f > 'src/stl_logging_unittest.cc' || echo './'`src/stl_logging_unittest.cc > In file included from src/stl_logging_unittest.cc:34: > In file included from ./src/glog/stl_logging.h:54: > /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/ext/hash_set:202:2: > warning: Use of the header <ext/hash_set> is deprecated. Migrate to > <unordered_set> [-W#warnings] > #warning Use of the header <ext/hash_set> is deprecated. Migrate to > <unordered_set> > ^ > In file included from src/stl_logging_unittest.cc:34: > In file included from ./src/glog/stl_logging.h:55: > /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/ext/hash_map:209:2: > warning: Use of the header <ext/hash_map> is deprecated. Migrate to > <unordered_map> [-W#warnings] > #warning Use of the header <ext/hash_map> is deprecated. Migrate to > <unordered_map> > ^ > In file included from src/stl_logging_unittest.cc:34: > ./src/glog/stl_logging.h:56:11: fatal error: 'ext/slist' file not found > # include <ext/slist> > ^ > 2 warnings and 1 error generated. > make[7]: *** [stl_logging_unittest-stl_logging_unittest.o] Error 1 > > ##################################################################### > > — > Tom Arnfeld > Developer // DueDil > > On 30 Jan 2014, at 19:46, Benjamin Mahler <[email protected]> wrote: > >> I don't believe that we compile with C++11 on gcc 4.2, and C++11 support did >> not land in 0.16.0 IIRC. >> >> You should remove your -std=c++11 flag. Let us know if that does not work. >> >> >> On Thu, Jan 30, 2014 at 11:40 AM, Tom Arnfeld <[email protected]> wrote: >> I’m trying to get going with Mesos to do a bit of exploration and i’m having >> trouble compiling any version of Mesos on Mac OSX. I’m only looking to use >> the python binding (not actually run a mesos master/slave) on OSX to talk to >> a remote Mesos/ZK cluster i’ve got setup. >> >> I’ve sifted through a bunch of errors, and hit a wall with one I can’t seem >> to solve. I’m using GCC 4.2 (`brew install gcc4.2`) as there are issues with >> the GCC included in Xcode. I’ve also had to switch to using protobuf 2.5.0 >> in `mesos/3rdparty/libprocess/3rdparty. >> >> > git clone https://git-wip-us.apache.org/repos/asf/mesos.git >> > cd mesos >> > git checkout git checkout 0.16.0-rc4 >> > ./bootstrap >> > CC="gcc-4.2" CXXFLAGS="-std=c++11" ./configure >> > make >> >> ######################################################################## >> >> /bin/sh ./libtool --tag=CXX --mode=compile g++ >> -DPACKAGE_NAME=\"libprocess\" -DPACKAGE_TARNAME=\"libprocess\" >> -DPACKAGE_VERSION=\"0.0.1\" -DPACKAGE_STRING=\"libprocess\ 0.0.1\" >> -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"libprocess\" >> -DVERSION=\"0.0.1\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 >> -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 >> -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 >> -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DHAVE_PTHREAD=1 -DHAVE_LIBZ=1 -I. >> -I./include -I./3rdparty/stout/include -I3rdparty/boost-1.53.0 >> -I3rdparty/glog-0.3.3/src -I3rdparty/libev-4.15 >> -I3rdparty/ry-http-parser-1c3624a -std=c++11 -g2 -O2 -MT >> libprocess_la-latch.lo -MD -MP -MF .deps/libprocess_la-latch.Tpo -c -o >> libprocess_la-latch.lo `test -f 'src/latch.cpp' || echo './'`src/latch.cpp >> libtool: compile: g++ -DPACKAGE_NAME=\"libprocess\" >> -DPACKAGE_TARNAME=\"libprocess\" -DPACKAGE_VERSION=\"0.0.1\" >> "-DPACKAGE_STRING=\"libprocess 0.0.1\"" -DPACKAGE_BUGREPORT=\"\" >> -DPACKAGE_URL=\"\" -DPACKAGE=\"libprocess\" -DVERSION=\"0.0.1\" >> -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 >> -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 >> -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" >> -DHAVE_PTHREAD=1 -DHAVE_LIBZ=1 -I. -I./include -I./3rdparty/stout/include >> -I3rdparty/boost-1.53.0 -I3rdparty/glog-0.3.3/src -I3rdparty/libev-4.15 >> -I3rdparty/ry-http-parser-1c3624a -std=c++11 -g2 -O2 -MT >> libprocess_la-latch.lo -MD -MP -MF .deps/libprocess_la-latch.Tpo -c >> src/latch.cpp -fno-common -DPIC -o libprocess_la-latch.o >> In file included from src/latch.cpp:3: >> >> ./include/process/process.hpp:10:10: fatal error: 'tr1/functional' file not >> found >> #include <tr1/functional> >> ^ >> 1 error generated. >> >> #################################### >> >> The call to `make` fails with the above output. I managed to successfully >> install thrift version 0.9.1using brew (though unrelated) which makes me >> think it might not be an issue with thrift, but with the mesos build process? >> >> I can attach my Makefile if that’s of any help, Thanks. >> >> — >> Tom Arnfeld >> Developer // DueDil >> > >

