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
>> 
> 
> 

Reply via email to