How to build mesos on Mavericks

mesos, osx-mavericks

Solution

The Mesos team updated the "Getting Started" document with instructions on building and running Mesos on Mavericks.

GCC was replaced with Clang on Mavericks, and so you first have to install GCC 4.7+. You can use Homebrew to install it (Note: installing GCC takes a loooong time):

brew tap homebrew/versions
brew install gcc48

This is the gist of getting started on Mavericks:

# Make sure you have the right versions of automake and GCC.
# For example:
$ automake --version
automake (GNU automake) 1.12.6
...

$ aclocal --version
aclocal (GNU automake) 1.12.6
...

$ gcc-4.8 --version
gcc-4.8 (GCC) 4.8.1
...

# Follow bootstrap steps above.

# Configure and build.
$ mkdir build
$ cd build

# The prepending CC and CXX will select custom compilers to build Mesos with.
$ CC=gcc-4.8 CXX=g++-4.8 ../configure

Problem

I cloned from git: ``` git clone git://git.apache.org/mesos.git ``` and also had done ``` brew install autoconf automake libtool ``` Then trying to follow the "Getting started" at http://mesos.apache.org/gettingstarted/ And specifically : ``` Only if running from source code cloned from git, run ./bootstrap otherwise skip to step 3 ``` So I ran ``` ./bootstrap ``` Here is a trimmed output of the results. I did not see any ERRORS as such but plenty of WARNings. End result exited with 1 and no configure script was generated: ``` autoreconf: configure.ac: adding subdirectory 3rdparty/stout to autoreconf autoreconf: Entering directory `3rdparty/stout' autoreconf: configure.ac: not using Libtool autoreconf: running: /usr/local/Cellar/autoconf/2.69/bin/autoconf --warnings=all autoreconf: configure.ac: not using Autoheader autoreconf: running: automake --add-missing --copy --no-force --warnings=all configure.ac:10: installing './missing' autoreconf: Leaving directory `3rdparty/stout' autoreconf: running: glibtoolize --copy glibtoolize: putting auxiliary files in `.'. glibtoolize: copying file `./ltmain.sh' .. glibtoolize: copying file `m4/ltversion.m4' glibtoolize: copying file `m4/lt~obsolete.m4' .. m4/libtool.m4:694: LT_OUTPUT is expanded from... configure.ac:28: the top level configure.ac:87: warning: The macro `AC_LANG_SAVE' is obsolete. configure.ac:87: You should run autoupdate. ../../lib/autoconf/lang.m4:128: AC_LANG_SAVE is expanded from... m4/acx_pthread.m4:363: ACX_PTHREAD is expanded from... configure.ac:87: the top level configure.ac:87: warning: The macro `AC_LANG_C' is obsolete. configure.ac:87: You should run autoupdate. ../../lib/autoconf/c.m4:72: AC_LANG_C is expanded from... m4/acx_pthread.m4:363: ACX_PTHREAD is expanded from... configure.ac:87: the top level configure.ac:87: warning: The macro `AC_TRY_LINK' is obsolete. configure.ac:87: You should run autoupdate. ../../lib/autoconf/general.m4:2688: AC_TRY_LINK is expanded from... m4/acx_pthread.m4:363: ACX_PTHREAD is expanded from... configure.ac:87: the top level configure.ac:87: warning: The macro `AC_LANG_RESTORE' is obsolete. configure.ac:87: You should run autoupdate. ../../lib/autoconf/lang.m4:134: AC_LANG_RESTORE is expanded from... m4/acx_pthread.m4:363: ACX_PTHREAD is expanded from... configure.ac:87: the top level configure.ac:21: installing './ar-lib' configure.ac:21: installing './compile' configure.ac:8: installing './config.guess' configure.ac:8: installing './config.sub' configure.ac:18: installing './missing' automake: warnings are treated as errors 3rdparty/Makefile.am:71: warning: source file '$(GTEST)/src/gtest-all.cc' is in a subdirectory, 3rdparty/Makefile.am:71: but option 'subdir-objects' is disabled automake: warning: possible forward-incompatibility. automake: At least a source file is in a subdirectory, but the 'subdir-objects' automake: automake option hasn't been enabled. For now, the corresponding output automake: object file(s) will be placed in the top-level directory. However, automake: this behaviour will change in future Automake versions: they will automake: unconditionally cause object files to be placed in the same subdirectory automake: of the corresponding sources. automake: You are advised to start using 'subdir-objects' option throughout your automake: project, to avoid future incompatibilities. 3rdparty/Makefile.am:71: warning: source file '$(GMOCK)/src/gmock-all.cc' is in a subdirectory, 3rdparty/Makefile.am:71: but option 'subdir-objects' is disabled 3rdparty/Makefile.am:61: warning: source file '$(RY_HTTP_PARSER)/http_parser.c' is in a subdirectory, 3rdparty/Makefile.am:61: but option 'subdir-objects' is disabled 3rdparty/Makefile.am:118: warning: source file '$(STOUT)/tests/bytes_tests.cpp' is in a subdirectory, .. 3rdparty/Makefile.am:118: but option 'subdir-objects' is disabled 3rdparty/Makefile.am:118: warning: source file '$(STOUT)/tests/flags_tests.cpp' is in a subdirectory, 3rdparty/Makefile.am:118: but option 'subdir-objects' is disabled .. 3rdparty/Makefile.am:146: warning: source file '$(STOUT)/tests/proc_tests.cpp' is in a subdirectory, 3rdparty/Makefile.am:146: but option 'subdir-objects' is disabled 3rdparty/Makefile.am: installing './depcomp' Makefile.am:29: warning: source file 'src/latch.cpp' is in a subdirectory, Makefile.am:29: but option 'subdir-objects' is disabled Makefile.am:29: warning: source file 'src/pid.cpp' is in a subdirectory, Makefile.am:29: but option 'subdir-objects' is disabled Makefile.am:29: warning: source file 'src/process.cpp' is in a subdirectory, Makefile.am:29: but option 'subdir-objects' is disabled Makefile.am:29: warning: source file 'src/statistics.cpp' is in a subdirectory, Makefile.am:29: but option 'subdir-objects' is disabled .. Makefile.am:101: warning: source file 'src/tests/shared_tests.cpp' is in a subdirectory, Makefile.am:101: but option 'subdir-objects' is disabled Makefile.am:101: warning: source file 'src/tests/statistics_tests.cpp' is in a subdirectory, Makefile.am:101: but option 'subdir-objects' is disabled Makefile.am:101: warning: source file 'src/tests/time_tests.cpp' is in a subdirectory, Makefile.am:101: but option 'subdir-objects' is disabled autoreconf: automake failed with exit status: 1 ```

Original source