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

CMake build should fail immediately for in-source builds

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Reviewable
    • Major
    • Resolution: Unresolved
    • None
    • None
    • cmake
    • macOS 10.12
      GNU/Linux Debian Stretch

    Description

      In-source builds are neither recommended or supported. It is simple enough to add a check to fail the build immediately.

      In-source build of master branch was broken with:

      cd /Users/damien.gerard/projects/acp/mesos/src && /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++  -DBUILD_FLAGS=\"\" -DBUILD_JAVA_JVM_LIBRARY=\"\" -DHAS_AUTHENTICATION=1 -DLIBDIR=\"/usr/local/libmesos\" -DPICOJSON_USE_INT64 -DPKGDATADIR=\"/usr/local/share/mesos\" -DPKGLIBEXECDIR=\"/usr/local/libexec/mesos\" -DUSE_CMAKE_BUILD_CONFIG -DUSE_STATIC_LIB -DVERSION=\"1.4.0\" -D__STDC_FORMAT_MACROS -Dmesos_1_4_0_EXPORTS -I/Users/damien.gerard/projects/acp/mesos/include -I/Users/damien.gerard/projects/acp/mesos/include/mesos -I/Users/damien.gerard/projects/acp/mesos/src -isystem /Users/damien.gerard/projects/acp/mesos/3rdparty/protobuf-3.3.0/src/protobuf-3.3.0-lib/lib/include -isystem /Users/damien.gerard/projects/acp/mesos/3rdparty/libprocess/include -isystem /usr/local/opt/apr/libexec/include/apr-1 -isystem /Users/damien.gerard/projects/acp/mesos/3rdparty/boost-1.53.0/src/boost-1.53.0 -isystem /Users/damien.gerard/projects/acp/mesos/3rdparty/elfio-3.2/src/elfio-3.2 -isystem /Users/damien.gerard/projects/acp/mesos/3rdparty/glog-0.3.3/src/glog-0.3.3-lib/lib/include -isystem /Users/damien.gerard/projects/acp/mesos/3rdparty/nvml-352.79/src/nvml-352.79 -isystem /Users/damien.gerard/projects/acp/mesos/3rdparty/picojson-1.3.0/src/picojson-1.3.0 -isystem /usr/local/include/subversion-1 -isystem /Users/damien.gerard/projects/acp/mesos/3rdparty/stout/include -isystem /Users/damien.gerard/projects/acp/mesos/3rdparty/http_parser-2.6.2/src/http_parser-2.6.2 -isystem /Users/damien.gerard/projects/acp/mesos/3rdparty/concurrentqueue-1.0.0-beta/src/concurrentqueue-1.0.0-beta -isystem /Users/damien.gerard/projects/acp/mesos/3rdparty/libev-4.22/src/libev-4.22 -isystem /Users/damien.gerard/projects/acp/mesos/3rdparty/zookeeper-3.4.8/src/zookeeper-3.4.8/src/c/include -isystem /Users/damien.gerard/projects/acp/mesos/3rdparty/zookeeper-3.4.8/src/zookeeper-3.4.8/src/c/generated -isystem /Users/damien.gerard/projects/acp/mesos/3rdparty/leveldb-1.19/src/leveldb-1.19/include  -std=c++11 -fPIC   -o CMakeFiles/mesos-1.4.0.dir/slave/containerizer/mesos/provisioner/backends/copy.cpp.o -c /Users/damien.gerard/projects/acp/mesos/src/slave/containerizer/mesos/provisioner/backends/copy.cpp
      /Users/damien.gerard/projects/acp/mesos/src/slave/containerizer/mesos/provisioner/appc/store.cpp:132:46: error: no member named 'fetcher' in namespace 'mesos::uri'; did you mean 'Fetcher'?
        Try<Owned<uri::Fetcher>> uriFetcher = uri::fetcher::create();
                                              ~~~~~^~~~~~~
                                                   Fetcher
      /Users/damien.gerard/projects/acp/mesos/include/mesos/uri/fetcher.hpp:46:7: note: 'Fetcher' declared here
      class Fetcher
            ^
      /Users/damien.gerard/projects/acp/mesos/src/slave/containerizer/mesos/provisioner/appc/store.cpp:132:55: error: no member named 'create' in 'mesos::uri::Fetcher'
        Try<Owned<uri::Fetcher>> uriFetcher = uri::fetcher::create();
      

      Both Linux & macOS, not tested elsewhere, on master and tag 1.4.0-rc3

      Attachments

        Issue Links

          Activity

            People

              csnate Nathan Jackson
              milipili Damien Gerard
              Joseph Wu Joseph Wu
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

                Created:
                Updated: