<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Fri, Dec 4, 2015 at 1:39 PM, Dmitri Gribenko <span dir="ltr">&lt;<a href="mailto:gribozavr@gmail.com" target="_blank">gribozavr@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><span class="">On Fri, Dec 4, 2015 at 11:22 AM, Lane Schwartz <span dir="ltr">&lt;<a href="mailto:dowobeha@gmail.com" target="_blank">dowobeha@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr">Hi,<br><br>First of all, congratulations on the open source release! I&#39;m very excited!<br><br>Second, I&#39;m running into trouble building from source, particularly in regards to getting ninja bootstrapped. I&#39;m on Scientific Linux.</div></blockquote><div><br></div></span><div>Which version are you running?  It is only feasible to try SL7+ because of LLVM and Clang requirements.</div><span class=""><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"> I first used yum to install packages for llvm, llvm-devel, clang, and cmake.<br><br>I then did the following, following the README.md in the swift git repo: <br><br> git clone git@github.com:apple/swift.git swift<br> git clone git@github.com:apple/swift-llvm.git llvm<br> git clone git@github.com:apple/swift-clang.git clang<br> git clone git@github.com:apple/swift-lldb.git lldb<br> git clone git@github.com:apple/swift-cmark.git cmark<br> git clone git@github.com:apple/swift-llbuild.git llbuild<br> git clone git@github.com:apple/swift-package-manager.git swiftpm<br> git clone git@github.com:apple/swift-corelibs-xctest.git<br> git clone git@github.com:apple/swift-corelibs-foundation.git<br><br><div><br></div><div>The README.md also states:</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">Ninja is the current recommended build system for building Swift and is the default configuration generated by CMake. If you&#39;re on OS X or don&#39;t install it as part of your Linux distribution, clone it next to the other projects and it will be bootstrapped automatically</blockquote><div><br></div><div> My Linux distro doesn&#39;t package ninja, so I also did this:</div><br>git clone git@github.com:martine/ninja.git<div><br></div><div>I then attempted to build swift:</div><div><br></div>$ ./swift/utils/build-script</div></blockquote><div><br></div></span><div>Yes, this should work.</div><span class=""><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div><br></div><div>Which resulted in errors, and as far as I can tell did not attempt to build the ninja distro that I downloaded into the ninja directory in my current working directory:</div><div><br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">which: no ninja in (/usr/lib64/qt-3.3/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/lanes/.local/bin:/home/lanes/bin)<br>Building the standard library for: swift-stdlib-linux-x86_64<br>Running Swift tests for: check-swift-linux-x86_64<br>+ rm -rf /home/lanes/swift/build/Ninja-DebugAssert/ninja-build<br>+ cp -r /home/lanes/swift/ninja /home/lanes/swift/build/Ninja-DebugAssert/ninja-build<br>++ uname -s<br>+ [[ Linux == \D\a\r\w\i\n ]]<br>+ cd /home/lanes/swift/build/Ninja-DebugAssert/ninja-build<br>+ python ./configure.py --bootstrap<br>bootstrapping ninja...<br>warning: A compatible version of re2c (&gt;= 0.11.3) was not found; changes to src/*.in.cc will not affect your build.<br>wrote build.ninja.<br>bootstrap complete.  rebuilding...<br>[24/24] LINK ninja<br></blockquote></div></div></blockquote><div><br></div></span><div>So ninja built successfully.</div><span class=""><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">cmark: using standard linker<br>+ cd /home/lanes/swift/build/Ninja-DebugAssert/cmark-linux-x86_64<br>+ /usr/bin/cmake -G Ninja -DCMAKE_C_COMPILER:PATH=clang -DCMAKE_CXX_COMPILER:PATH=clang++ -DCMAKE_BUILD_TYPE:STRING=Debug /home/lanes/swift/cmark<br></blockquote></div></div></blockquote><div><br></div></span><div>I just verified, the script bootstraps ninja for me, and cmake finds it.</div><div><br></div><div>Could you apply this patch and see if the PATH was set correctly?</div><div><br></div><div><div><font face="monospace, monospace">diff --git a/utils/build-script-impl b/utils/build-script-impl</font></div><div><font face="monospace, monospace">index b2d2954..60ab51d 100755</font></div><div><font face="monospace, monospace">--- a/utils/build-script-impl</font></div><div><font face="monospace, monospace">+++ b/utils/build-script-impl</font></div><div><font face="monospace, monospace">@@ -1312,6 +1312,7 @@ if [[ &quot;${BUILD_NINJA}&quot; ]] ; then</font></div><div><font face="monospace, monospace">         fi</font></div><div><font face="monospace, monospace">     fi</font></div><div><font face="monospace, monospace">     export PATH=&quot;${build_dir}:${PATH}&quot;</font></div><div><font face="monospace, monospace">+    which ninja</font></div><div><font face="monospace, monospace"> fi</font></div><div><font face="monospace, monospace"><br></font></div><div><font face="monospace, monospace"> #</font></div><div><font face="monospace, monospace">@@ -1805,6 +1806,7 @@ for deployment_target in &quot;${NATIVE_TOOLS_DEPLOYMENT_TARGETS[@]}&quot; &quot;${CROSS_TOOLS_</font></div><div><font face="monospace, monospace">                     ( ! -z &quot;${generator_output_path}&quot; &amp;&amp; ! -f &quot;${generator_output_path}&quot; ) ]] ; then</font></div><div><font face="monospace, monospace">             mkdir -p &quot;${build_dir}&quot;</font></div><div><font face="monospace, monospace">             set -x</font></div><div><font face="monospace, monospace">+            which ninja</font></div><div><font face="monospace, monospace">             (cd &quot;${build_dir}&quot; &amp;&amp; &quot;$CMAKE&quot; &quot;${cmake_options[@]}&quot; ${USER_CONFIG_ARGS})</font></div><div><font face="monospace, monospace">             { set +x; } 2&gt;/dev/null</font></div><div><font face="monospace, monospace">         fi</font></div></div><span class=""><font color="#888888"><div><br></div><div> Dmitri</div></font></span></div><span class=""><font color="#888888"><div><br></div>-- <br><div>main(i,j){for(i=2;;i++){for(j=2;j&lt;i;j++){if(!(i%j)){j=0;break;}}if<br>(j){printf(&quot;%d\n&quot;,i);}}} /*Dmitri Gribenko &lt;<a href="mailto:gribozavr@gmail.com" target="_blank">gribozavr@gmail.com</a>&gt;*/</div>
</font></span></div></div>
</blockquote></div><br><br clear="all"><div>I&#39;m on Scientific Linux 7.1. I added the two instances of &quot;which ninja&quot; as you suggested, then re-ran build-script:</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">$ ./swift/utils/build-script<br>which: no ninja in (/usr/lib64/qt-3.3/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/lanes/.local/bin:/home/lanes/bin)<br>Building the standard library for: swift-stdlib-linux-x86_64<br>Running Swift tests for: check-swift-linux-x86_64<br><br>/home/lanes/swift/build/Ninja-DebugAssert/ninja-build/ninja<br>cmark: using standard linker<br>+ which ninja<br>/home/lanes/swift/build/Ninja-DebugAssert/ninja-build/ninja<br>+ cd /home/lanes/swift/build/Ninja-DebugAssert/cmark-linux-x86_64<br>+ /usr/bin/cmake -G Ninja -DCMAKE_C_COMPILER:PATH=clang -DCMAKE_CXX_COMPILER:PATH=clang++ -DCMAKE_BUILD_TYPE:STRING=Debug /home/lanes/swift/cmark<br>CMake Error: CMake was unable to find a build program corresponding to &quot;Ninja&quot;.  CMAKE_MAKE_PROGRAM is not set.  You probably need to select a different build tool.<br>CMake Error: Error required internal CMake variable not set, cmake may be not be built correctly.<br>Missing variable is:<br>CMAKE_C_COMPILER_ENV_VAR<br>CMake Error: Could not find cmake module file:/home/lanes/swift/build/Ninja-DebugAssert/cmark-linux-x86_64/CMakeFiles/2.8.11/CMakeCCompiler.cmake<br>CMake Error: Error required internal CMake variable not set, cmake may be not be built correctly.<br>Missing variable is:<br>CMAKE_CXX_COMPILER_ENV_VAR<br>CMake Error: Could not find cmake module file:/home/lanes/swift/build/Ninja-DebugAssert/cmark-linux-x86_64/CMakeFiles/2.8.11/CMakeCXXCompiler.cmake<br>-- Configuring incomplete, errors occurred!<br>./swift/utils/build-script: command terminated with a non-zero exit status 1, aborting</blockquote></div><div class="gmail_extra"><br></div><div class="gmail_extra">Thanks,</div><div class="gmail_extra">Lane</div><div class="gmail_extra"><br></div></div>