<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">When doing multi-stage builds on Darwin you *must* have libcxx checked out in your source tree. Otherwise this error is expected.<div class=""><br class=""></div><div class="">-Chris</div><div class=""><br class=""><div><blockquote type="cite" class=""><div class="">On Aug 5, 2017, at 10:39 AM, Stefan Gränitz via cfe-dev <<a href="mailto:cfe-dev@lists.llvm.org" class="">cfe-dev@lists.llvm.org</a>> wrote:</div><br class="Apple-interchange-newline"><div class="">
  

    <meta http-equiv="content-type" content="text/html; charset=utf-8" class="">
  
  <div text="#000000" bgcolor="#FFFFFF" class="">
    <tt class="">Hi all</tt><br class="">
    <br class="">
    <tt class="">I just ran into the same issue Jack described below.</tt><br class="">
    <tt class="">I did a 2-stage build of LLVM/Clang/Compiler-rt on the current
      release_50 branch.</tt><br class="">
    <br class="">
    <tt class="">Versions:</tt><br class="">
    <tt class="">OSX 10.12.6, Xcode 8.0, CMake 1.8.2, Ninja 1.7.2, Ccache 3.3.4</tt><br class="">
    <br class="">
    <tt class="">Log:</tt><br class="">
    <tt class="">$ cmake -G Ninja -DCMAKE_CXX_COMPILER_LAUNCHER=ccache</tt><br class="">
    <tt class=""> -DCMAKE_BUILD_TYPE=Release <br class="">
      -DLLVM_ENABLE_LTO=ON </tt><br class="">
    <tt class=""> -DLLVM_TARGETS_TO_BUILD=host <br class="">
      -DLLVM_CREATE_XCODE_TOOLCHAIN=ON </tt><br class="">
    <tt class=""> -DLLVM_INCLUDE_TESTS=ON <br class="">
      -DLLVM_INCLUDE_EXAMPLES=OFF <br class="">
      -DLLVM_INCLUDE_DOCS=OFF <br class="">
      -DLLVM_ENABLE_PROJECTS="clang;compiler-rt;lldb" </tt><br class="">
    <tt class=""> -DCLANG_ENABLE_BOOTSTRAP=ON ../llvm</tt><br class="">
    <tt class="">-- The C compiler identification is AppleClang 8.0.0.8000038</tt><br class="">
    <tt class="">-- The CXX compiler identification is AppleClang 8.0.0.8000038</tt><br class="">
    <tt class="">...</tt><br class="">
    <tt class="">-- Build files have been written to:
      /media/Dev/llvm50/build-ninja-clang-release</tt><br class="">
    <tt class="">$ ninja stage2</tt><br class="">
    <tt class="">...</tt><br class="">
    <tt class="">-- Performing Test LLVM_NO_OLD_LIBSTDCXX</tt><br class="">
    <tt class="">-- Performing Test LLVM_NO_OLD_LIBSTDCXX - Failed</tt><br class="">
    <tt class="">CMake Error at cmake/modules/CheckCompilerVersion.cmake:38
      (message):</tt><br class="">
    <tt class=""> Host Clang must be able to find libstdc++4.8 or newer!</tt><br class="">
    <tt class="">Call Stack (most recent call first):</tt><br class="">
    <tt class=""> cmake/config-ix.cmake:14 (include)</tt><br class="">
    <tt class=""> CMakeLists.txt:584 (include)</tt><br class="">
    <br class="">
    <tt class="">Hack to force LLVM_ENABLE_LIBCXX=ON:</tt><br class="">
    <tt class="">diff --git a/cmake/modules/CheckCompilerVersion.cmake
      b/cmake/modules/CheckCompilerVersion.cmake</tt><br class="">
    <tt class="">index 2e8f5445781..38ec06c7631 100644</tt><br class="">
    <tt class="">--- a/cmake/modules/CheckCompilerVersion.cmake</tt><br class="">
    <tt class="">+++ b/cmake/modules/CheckCompilerVersion.cmake</tt><br class="">
    <tt class="">@@ -1,6 +1,7 @@</tt><br class="">
    <tt class=""> # Check if the host compiler is new enough. LLVM requires at
      least GCC 4.8,</tt><br class="">
    <tt class=""> # MSVC 2015 (Update 3), or Clang 3.1.</tt><br class="">
    <tt class=""> </tt><br class="">
    <tt class="">+set(LLVM_ENABLE_LIBCXX ON)</tt><br class="">
    <tt class=""> include(CheckCXXSourceCompiles)</tt><br class="">
    <tt class=""> </tt><br class="">
    <tt class=""> if(NOT DEFINED LLVM_COMPILER_CHECKED)</tt><br class="">
    <tt class=""><br class="">
      Maybe it just got messed up. However, I never explicitly pass <br class="">
      -DLLVM_ENABLE_LIBCXX=ON and it never caused problems in
      single-stage builds, <br class="">
      as on OSX the setting defaults to ON. Shouldn't that be the same
      for 2-stage <br class="">
      out of the box? Maybe stage 1 passes an invalid setting to the </tt><tt class=""><tt class="">stage
        2<br class="">
      </tt></tt><tt class="">configuration that overrides the otherwise correct
      default?</tt><tt class=""><br class="">
    </tt><tt class=""><br class="">
    </tt><tt class="">Cheers</tt><tt class=""><br class="">
    </tt><tt class="">Stefan<br class="">
      <br class="">
    </tt>
    <blockquote type="cite" class=""><tt class="">  Is anyone using the 3 stage bootstrap
        described under 3-Stage</tt><tt class=""><br class="">
      </tt><tt class="">Non-Determinism at </tt><tt class=""><a href="http://llvm.org/docs/AdvancedBuilds.html" target="_blank" rel="nofollow" class="">http://llvm.org/docs/<wbr class="">AdvancedBuilds.html</a></tt><tt class="">?
        I am</tt><tt class=""><br class="">
      </tt><tt class="">trying to build against the MacPorts current python2.7,
        ninja and make</tt><tt class=""><br class="">
      </tt><tt class="">releases, a build of current trunk for llvm, compiler-rt,
        cfe and</tt><tt class=""><br class="">
      </tt><tt class="">clang-tools-extra using...</tt><br class="">
      <tt class="">% cmake -DLLVM_LINK_LLVM_DYLIB:BOOL=ON</tt><tt class=""><br class="">
      </tt><tt class="">-DCOMPILER_RT_ENABLE_IOS:BOOL=</tt><wbr class=""><tt class="">OFF
        -DLLVM_LIT_ARGS:STRING=-v</tt><tt class=""><br class="">
      </tt><tt class="">-DPYTHON_EXECUTABLE:FILEPATH=/</tt><wbr class=""><tt class="">opt/local/bin/python2.7</tt><tt class=""><br class="">
      </tt><tt class="">-DLLVM_ENABLE_ASSERTIONS:BOOL=</tt><wbr class=""><tt class="">OFF
        -DCMAKE_OSX_SYSROOT:STRING=/</tt><tt class=""><br class="">
      </tt><tt class="">-DCMAKE_OSX_DEPLOYMENT_TARGET:</tt><wbr class=""><tt class="">STRING=</tt><tt class=""><br class="">
      </tt><tt class="">-DLLVM_TARGETS_TO_BUILD="X86;</tt><wbr class=""><tt class="">PowerPC;ARM"</tt><tt class=""><br class="">
      </tt><tt class="">-DCMAKE_INSTALL_PREFIX:PATH=/</tt><wbr class=""><tt class="">Users/howarth/dist</tt><tt class=""><br class="">
      </tt><tt class="">-DCMAKE_BUILD_TYPE:STRING=</tt><wbr class=""><tt class="">Release
        -DLLVM_ENABLE_LIBCXX:BOOL=ON -G</tt><tt class=""><br class="">
      </tt><tt class="">Ninja -C /Users/howarth/3stage/cfe-5.0.</tt><wbr class=""><tt class="">0.src/cmake/caches/3-stage.</tt><wbr class=""><tt class="">cmake</tt><tt class=""><br class="">
      </tt><tt class="">../llvm-5.0.0.src</tt><tt class=""><br class="">
      </tt><tt class="">% ninja stage3</tt><br class="">
      <tt class="">on x86_64-apple-darwin16 using the Xcode 8.3 Beta 5 devtools
        as the</tt><tt class=""><br class="">
      </tt><tt class="">system compiler. The build is tripping up on the error...</tt><br class="">
      <tt class="">-- Performing Test LLVM_NO_OLD_LIBSTDCXX</tt><tt class=""><br class="">
      </tt><tt class="">-- Performing Test LLVM_NO_OLD_LIBSTDCXX - Failed</tt><tt class=""><br class="">
      </tt><tt class="">CMake Error at cmake/modules/</tt><wbr class=""><tt class="">CheckCompilerVersion.cmake:38
        (message):</tt><tt class=""><br class="">
      </tt><tt class="">  Host Clang must be able to find libstdc++4.8 or newer!</tt><tt class=""><br class="">
      </tt><tt class="">Call Stack (most recent call first):</tt><tt class=""><br class="">
      </tt><tt class="">  cmake/config-ix.cmake:14 (include)</tt><tt class=""><br class="">
      </tt><tt class="">  CMakeLists.txt:559 (include)</tt><br class="">
      <tt class="">where is seems that -DLLVM_ENABLE_LIBCXX:BOOL=ON isn't getting
        passed</tt><tt class=""><br class="">
      </tt><tt class="">down to from stage1 to the stage2 configuration step. Any
        ideas on how</tt><tt class=""><br class="">
      </tt><tt class="">to work around this for a build against the system
        livc+++ under</tt><tt class=""><br class="">
      </tt><tt class="">Sierra?</tt><tt class=""><br class="">
      </tt><tt class="">         Jack</tt></blockquote>
    <pre class="moz-signature" cols="72">-- 
<a class="moz-txt-link-freetext" href="https://weliveindetail.github.io/blog/">https://weliveindetail.github.io/blog/</a>
<a class="moz-txt-link-freetext" href="https://cryptup.org/pub/stefan.graenitz@gmail.com">https://cryptup.org/pub/stefan.graenitz@gmail.com</a></pre>
  </div>

_______________________________________________<br class="">cfe-dev mailing list<br class=""><a href="mailto:cfe-dev@lists.llvm.org" class="">cfe-dev@lists.llvm.org</a><br class="">http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev<br class=""></div></blockquote></div><br class=""></div></body></html>