You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@mesos.apache.org by Tom Arnfeld <to...@duedil.com> on 2014/01/30 20:40:06 UTC

Compiling Mesos on Mac OSX Mountain Lion 10.9

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

Re: Compiling Mesos on Mac OSX Mountain Lion 10.9

Posted by Tom Arnfeld <to...@duedil.com>.
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 <be...@gmail.com> 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 <to...@duedil.com> 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 <be...@gmail.com> 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 <to...@duedil.com> 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
>> 
> 
> 


Re: Compiling Mesos on Mac OSX Mountain Lion 10.9

Posted by Benjamin Mahler <be...@gmail.com>.
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 <to...@duedil.com> 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 <be...@gmail.com>
> 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 <to...@duedil.com> 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
>>
>
>
>

Re: Compiling Mesos on Mac OSX Mountain Lion 10.9

Posted by Tom Arnfeld <to...@duedil.com>.
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 <be...@gmail.com> 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 <to...@duedil.com> 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
> 


Re: Compiling Mesos on Mac OSX Mountain Lion 10.9

Posted by Benjamin Mahler <be...@gmail.com>.
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 <to...@duedil.com> 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
>