Uploaded image for project: 'Mesos'
  1. Mesos
  2. MESOS-7146

OSX broken due to wrong configuration of LevelDB after update.

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Blocker
    • Resolution: Fixed
    • None
    • 1.3.0
    • None

    Description

      The commit 74878e255bb099029dde2a03e0b1d22fecf16000 broke the build in OS-X. On a first run it will break with the following message:

      checking if clang supports -c -o file.o... yes
      checking for poll.h... yes
      checking sys/select.h usability... checking if clang supports -fno-rtti -fno-exceptions... yes
      checking if clang supports -c -o file.o... yes
      (cached) yes
      checking for clang option to produce PIC... checking whether the clang linker (/usr/bin/ld) supports shared libraries... -fno-common -DPIC
      checking if clang PIC flag -fno-common -DPIC works... yes
      checking dynamic linker characteristics... mkdir out-shared
      clang++ -stdlib=libc++ -nostdinc++ -I/usr/local/opt/llvm@3.8/lib/llvm-3.8/include/c++/v1 -Wno-deprecated-declarations  -fvisibility-inlines-hidden -fcolor-diagnostics -Wno-unused-local-typedef -std=c++11 -stdlib=libc++ -DGTEST_USE_OWN_TR1
      _TUPLE=1 -DGTEST_LANG_CXX11 -I. -I./include -std=c++0x  -DOS_MACOSX -DLEVELDB_PLATFORM_POSIX -DLEVELDB_ATOMIC_PRESENT -stdlib=libc++ -nostdinc++ -I/usr/local/opt/llvm@3.8/lib/llvm-3.8/include/c++/v1 -Wno-deprecated-declarations  -fvisibil
      ity-inlines-hidden -fcolor-diagnostics -Wno-unused-local-typedef -std=c++11 -stdlib=libc++ -DGTEST_USE_OWN_TR1_TUPLE=1 -DGTEST_LANG_CXX11 -fPIC -fPIC -c db/db_bench.cc -o out-shared/db/db_bench.o
      yes
      checking sys/select.h presence... error: unable to open output file 'out-shared/db/db_bench.o': 'No such file or directory'
      1 error generated.
      make[4]: *** [out-shared/db/db_bench.o] Error 1
      make[3]: *** [leveldb-1.19/out-static/libleveldb.a] Error 2
      make[3]: *** Waiting for unfinished jobs....
      

      if one re-runs the make command, then it fails with the following error:

      clang -I. -I./include -DOS_MACOSX -DLEVELDB_PLATFORM_POSIX -DLEVELDB_ATOMIC_PRESENT -stdlib=libc++ -nostdinc++ -I/usr/local/opt/llvm@3.8/lib/llvm-3.8/include/c++/v1 -Wno-deprecated-declarations  -fvisibility-inlines-hidden -fcolor-diagnostics -Wno-unused-local-typedef -std=c++11 -stdlib=libc++ -DGTEST_USE_OWN_TR1_TUPLE=1 -DGTEST_LANG_CXX11 -fPIC -c db/c_test.c -o out-static/db/c_test.o
      error: invalid argument '-std=c++11' not allowed with 'C/ObjC'
      

      This one indicates that the C compiler is using CXXFLAGS instead of CFLAGS or that CFLAGS are being wrongly generated. Running a thir time the make command throes the following output:

      clang -I. -I./include -DOS_MACOSX -DLEVELDB_PLATFORM_POSIX -DLEVELDB_ATOMIC_PRESENT -stdlib=libc++ -nostdinc++ -I/usr/local/opt/llvm@3.8/lib/llvm-3.8/include/c++/v1 -Wno-deprecated-declarations  -fvisibility-inlines-hidden -fcolor-diagno$
      tics -Wno-unused-local-typedef -std=c++11 -stdlib=libc++ -DGTEST_USE_OWN_TR1_TUPLE=1 -DGTEST_LANG_CXX11 -fPIC -c db/c_test.c -o out-static/db/c_test.o
      clang++ -L/usr/local/opt/subversion/lib -L/usr/local/opt/openssl/lib -L/usr/local/opt/libevent/lib -L/usr/local/opt/apr/libexec/lib -L/usr/local/opt/llvm/lib -Wl,-rpath,/usr/local/opt/llvm/lib  -fcolor-diagnostics  -stdlib=libc++ -nostdi$
      c++ -I/usr/local/opt/llvm@3.8/lib/llvm-3.8/include/c++/v1 -Wno-deprecated-declarations  -fvisibility-inlines-hidden -fcolor-diagnostics -Wno-unused-local-typedef -std=c++11 -stdlib=libc++ -DGTEST_USE_OWN_TR1_TUPLE=1 -DGTEST_LANG_CXX11 -I$
       -I./include -std=c++0x  -DOS_MACOSX -DLEVELDB_PLATFORM_POSIX -DLEVELDB_ATOMIC_PRESENT -stdlib=libc++ -nostdinc++ -I/usr/local/opt/llvm@3.8/lib/llvm-3.8/include/c++/v1 -Wno-deprecated-declarations  -fvisibility-inlines-hidden -fcolor-dia$
      nostics -Wno-unused-local-typedef -std=c++11 -stdlib=libc++ -DGTEST_USE_OWN_TR1_TUPLE=1 -DGTEST_LANG_CXX11 -fPIC db/corruption_test.cc out-static/db/builder.o out-static/db/c.o out-static/db/db_impl.o out-static/db/db_iter.o out-static/d$
      /dbformat.o out-static/db/dumpfile.o out-static/db/filename.o out-static/db/log_reader.o out-static/db/log_writer.o out-static/db/memtable.o out-static/db/repair.o out-static/db/table_cache.o out-static/db/version_edit.o out-static/db/ve$
      sion_set.o out-static/db/write_batch.o out-static/table/block.o out-static/table/block_builder.o out-static/table/filter_block.o out-static/table/format.o out-static/table/iterator.o out-static/table/merger.o out-static/table/table.o out$
      static/table/table_builder.o out-static/table/two_level_iterator.o out-static/util/arena.o out-static/util/bloom.o out-static/util/cache.o out-static/util/coding.o out-static/util/comparator.o out-static/util/crc32c.o out-static/util/env$
      o out-static/util/env_posix.o out-static/util/filter_policy.o out-static/util/hash.o out-static/util/histogram.o out-static/util/logging.o out-static/util/options.o out-static/util/status.o out-static/port/port_posix.o out-static/util/tes
      tharness.o out-static/util/testutil.o -o out-static/corruption_test
      error: invalid argument '-std=c++11' not allowed with 'C/ObjC'
      make[4]: *** [out-static/db/c_test.o] Error 1
      make[4]: *** Waiting for unfinished jobs....
      make[3]: *** [leveldb-1.19/out-static/libleveldb.a] Error 2
      make[2]: *** [check-recursive] Error 1
      make[1]: *** [check] Error 2
      make: *** [check-recursive] Error 1
      

      persisting pays off however, and it finally manages to build Mesos.

      Attachments

        Issue Links

          Activity

            People

              janisz Tomasz Janiszewski
              arojas Alexander Rojas
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: