6

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
WestCoastProjects
  • 58,982
  • 91
  • 316
  • 560
  • Which version of automake are you using? `automake --version` – Till Jan 07 '14 at 19:13
  • 1
    -bash-3.2$ automake --version automake (GNU automake) 1.9.6 Written by Tom Tromey . – WestCoastProjects Jan 07 '14 at 19:42
  • 1
    You will have to downgrade due to incompatibilities of Mesos with recent automake releases. Anything below 1.14 will do. I am using automake 1.13.4 and it works fine. This is unfortunately true for many projects, automake is a common versioning-hell trap. – Till Jan 07 '14 at 20:11
  • 1
    Thanks for that tip (upvoted), I will look into this in about 24hrs – WestCoastProjects Jan 07 '14 at 20:13
  • Make sure you check ssorallen's answer as that one wraps it neatly up. In fact, the best thing to do is to check the `docs/getting-started.md` document as it has a neat little overview on how to get things working on OSX. – Till Jan 07 '14 at 23:51

1 Answers1

9

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
Ross Allen
  • 43,772
  • 14
  • 97
  • 95
  • I will look at this within 12 hours, in meantime it looks quite helpful and I have upvoted. – WestCoastProjects Jan 08 '14 at 00:56
  • I added a note and a link about why installing GCC is necessary. Let me know if this answer works for you. – Ross Allen Jan 08 '14 at 17:40
  • 1
    thanks for the further detail, i did not have opportunity yet to try this - another day probably. – WestCoastProjects Jan 08 '14 at 18:36
  • 1
    @javadba For the clang (vs. gcc) issue I am excited to tell you that there is a mesos version upcoming that is fully clang compatible. So in a not too distant future, you may uninstall gcc again :D – Till Jan 10 '14 at 22:14
  • Adding to my comment on clang, the current development version (0.17.0) does compile perfectly fine without any issues on Mavericks - only remaining issue is automake that needs to be manually installed after getting Xcode's commandline tools setup. – Till Jan 15 '14 at 16:08
  • I got completely sidetracked. I will vote this as the best answer though I did not yet perform the steps. – WestCoastProjects Jan 21 '14 at 17:35